OAuth 2.0
1. 設定ファイルの作成
デフォルトのデータディレクトリは
/data/hap/script/volume/sso/sso.jsonです。内容は以下のとおりです。
注意:マウント後に 404 エラーが発生する場合、内容を json.cn で JSON フォーマットが正しいか確認してください。
{
"mode": "common-oauth2",
"name": "oauth2",
"oauth2": {
"oauth2Url": "",
"clientId": "",
"clientSecret": "",
"idParamName": "client_id",
"secretParamName": "client_secret",
"accessTokenParamName": "access_token",
"redirectUri": "{HAP}/orgsso/oauth2",
"authorizePath": "/authorize",
"tokenPath": "/access_token",
"userInfoUrl": "",
"params": {
"UserId": "uid",
"Name": "name",
"Email": "email",
"Mobile": "mobilePhone",
"Positions": "positions",
"Departments":"departments"
},
"autoRegister": true,
"projectId": ""
}
}
一部パラメーターと説明
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| oauth2.oauth2Url | String | 必須 | oauth2認証サーバーのアドレス(例:http://192.168.10.80/) |
| oauth2.clientId | String | 必須 | アプリケーションに払い出されるClient Id |
| oauth2.clientSecret | String | 必須 | アプリケーションに払い出されるClient Secret |
| oauth2.idParamName | String | 必須 | client_id とマッピングするパラメーター名。authorizePath および tokenPath のリクエストに応じて設定 |
| oauth2.secretParamName | String | 必須 | client_secret とマッピングするパラメーター名。authorizePath および tokenPath のリクエストに応じて設定 |
| oauth2.accessTokenParamName | String | 任意 | access_tokenとマッピングされるパラメーター名。tokenPathの返却値により設定。デフォルトはaccessToken |
| oauth2.redirectUri | String | 必須 | コールバックURL。通常は {HAP}/orgsso/oauth2 に設定 |
| oauth2.authorizePath | String | 必須 | 認可用パス。oauth2Url/authorizePathの形式で連結(例:/authorize) |
| oauth2.tokenPath | String | 必須 | アクセストークン取得用パス。oauth2Url/tokenPathの形式で連結(例:/access_token) |
| oauth2.userInfoUrl | String | 必須 | ユーザー情報取得用APIの完全なURL。リクエストURLにはトークンパラメータが自動付与される |
| oauth2.tokenKeyParamName | String | 任意 | ユーザー情報取得時にアクセスするトークンのパラメータ名。デフォルトはtoken |
| oauth2.authorizationMethod | String | 任意 | パラメータ(client_id/client_secret)の受け渡し方式。headerまたはbodyを指定。デフォルトはheader |
| oauth2.bodyFormat | String | 任意 | リクエスト形式のcontent-type。form(application/x-www-form-urlencoded)、jsonが指定可能。デフォルトはform |
| oauth2.params | Object | 必須 | ユーザー情報フィールドのマッピングルール。Keyは固定値、Valueは実際のレスポンス値に応じて設定 |
| oauth2.params.UserId | String | 必須 | ユーザーの一意な識別子 |
| oauth2.params.Name | String | 任意 | ユーザー名。既存ユーザーがいる場合は自動で上書きされます |
| oauth2.params.Email | String |