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