17.
安裝設定新北市OpenID登入
一、安裝套件
- 此為林士立老師的作品:https://github.com/t301000/laravel-ntpc-openid,本文件內容均取自於 https://github.com/t301000/laravel-ntpc-openid/wiki
- 先安裝套件:
composer require t301000/laravel-ntpc-openid
- 設定 service provider 在 config/app.php 中加入 service provider
'providers' => [
...
T301000\LaravelNtpcOpenid\NtpcOpenidServiceProvider::class,
];
- 發布設定檔,設定檔會發布在 config/ntpcopenid.php,預設會取回所有資料欄位,請自行依需求修改
php artisan vendor:publish --provider="T301000\LaravelNtpcOpenid\NtpcOpenidServiceProvider" --tag=config
二、根據需求設定
- 設定檔位於 config/ntpcopenid.php,只要將 不要 的資料刪掉或註解起來即可
return [
....略
'required' => [
'namePerson/friendly', //暱稱
'contact/email', //公務信箱
'namePerson', //姓名
'birthDate', //出生年月日
'person/gender', //性別
'contact/postalCode/home', //識別碼
'contact/country/home', //單位(學校名),如:xx國中
'pref/language', //年級班級座號 6 碼
'pref/timezone' // 授權資訊[學校別、身分別、職稱別、職務別]
],
....略
];
- 設定 canLoginRules 可設定允許登入之規則,規則設定範例:
['unitCode' => '014569'],
['unitCode' => '014569', 'role' => '教師'],
['unitCode' => '014569', 'role' => ['教師', '學生']],
['role' => '教師'],
['unitCode' => '014569', 'title' => ['主任', '組長']],
['group' => '資訊組長'],
['openID' => ['somebody']],
- 每條規則均為陣列
- 未設定規則代表不設限
- 可用欄位 =>
unitCode
單位代碼, role
身份, title
職務, group
職稱, openID
OpedID 帳號
- 除
unitCode
為字串之外,其餘可為字串或陣列