05.可用的方法 - t301000/laravel-ntpc-openid GitHub Wiki
產生網址
authUrl()
回傳:字串
用途:產生導向 openid 認證之網址
驗證 OpenID 資料正確性
validate()
回傳:bool
用途:驗證 OpenID 資料正確性,若正確則擷取 OpenID 資料,並存入物件的 user 屬性
取得資料
若未要求取回的資料是取不到的,參考套件設定。
取資料之前須先呼叫 validate() 確保資料正確才能取得資料,否則會發生 UserIsEmptyException 的例外。
getUserData($fields = null)
回傳:$this 或 陣列
用途:指定 OpenID 欄位以取得資料,以陣列回傳,須在 validate() 之後
參數:
$fields 為想要取得之欄位名稱字串,多個欄位以陣列傳入,* 代表全部欄位。可用的欄位名稱如下:
- openid:OpenID 帳號
- namePerson/friendly:暱稱
- contact/email:公務信箱
- namePerson:姓名
- birthDate:出生年月日
- person/gender:性別,字母
- contact/postalCode/home:識別碼
- contact/country/home:單位名稱(校名,簡稱)
- pref/language:年班座號
- pref/timezone:授權資訊
若未指定 $fields,則回傳 $this,可以串接呼叫其他取得資料的方法。
getField($field)
回傳:字串 或 陣列 或 null
用途:指定一個 OpenID 欄位以取得資料
參數:
$field 為想要取得之欄位名稱字串,指定欄位不存在或未要求取回資料,則回傳 null;若為 pref/timezone 則回傳陣列。
getOpenID()
回傳:字串
用途:取得 OpenID 帳號
getAuthorizedInfo()
回傳:陣列 或 null
用途:取得 授權資訊
getEmail()
回傳:字串 或 null
用途:取得 公務信箱
getNickName()
回傳:字串 或 null
用途:取得 暱稱
getName()
回傳:字串 或 null
用途:取得 姓名
getBirthday()
回傳:字串 或 null
用途:取得 出生年月日
getGender()
回傳:字串 或 null
用途:取得 性別
getIdCode()
回傳:字串 或 null
用途:取得 識別碼
getUnitName()
回傳:字串 或 null
用途:取得 單位名稱(學校簡稱)
getUnitFullNames()
回傳:陣列 或 null
用途:取得 單位全銜,回傳之陣列以單位代碼為索引,值為對應之單位全銜
getClassInfo()
回傳:陣列 或 null
用途:取得 年班座號,回傳之陣列索引分別為 grade, classNumber, seatNumber
getUnitCodes()
回傳:陣列 或 null
用途:取得 單位代碼
getRoles()
回傳:陣列 或 null
用途:取得 身份,回傳之陣列以單位代碼為索引,值為在該單位所具有之身份陣列
getTitles()
回傳:陣列 或 null
用途:取得 職務,回傳之陣列以單位代碼為索引,值為在該單位所具有之職務陣列
getGroups()
回傳:陣列 或 null
用途:取得 職稱,回傳之陣列以單位代碼為索引,值為在該單位所具有之職稱陣列
檢查登入規則
canLogin(array $user = null)
回傳:bool
用途:逐一比對登入規則,判斷是否允許登入
參數:
$user 為 OpenID 取回,整理過後的 user 資料,若不在同一個 request 做 validate() 與 canLogin(),則須傳入 user 資料,若未傳入則會嘗試從 session 取得
checkOpenID(array $rule)
回傳:bool
用途:檢查 OpenID 帳號
參數:
$rule 為比對之一條規則,為陣列,必須有元素之索引為 openID
checkUnitCode(array $rule)
回傳:bool
用途:檢查 單位代碼
參數:
$rule 為比對之一條規則,為陣列,必須有元素之索引為 unitCode
checkRole(array $rule)
回傳:bool
用途:檢查 身份
參數:
$rule 為比對之一條規則,為陣列,必須有元素之索引為 role
checkTitle(array $rule)
回傳:bool
用途:檢查 職務
參數:
$rule 為比對之一條規則,為陣列,必須有元素之索引為 title
checkGroup(array $rule)
回傳:bool
用途:檢查 職稱
參數:
$rule 為比對之一條規則,為陣列,必須有元素之索引為 group