• 検索結果がありません。

秘密鍵を指定。

サーバー証明書を指定。

 IDGにて自己署名証明書を生成可能

 「管理」 > 「その他」 > 「暗号 ツール」

(参考) サーバー証明書および秘密鍵の作成

© 2016 IBM Corporation 58

 アクセス許可要求 (Basic認証)

 Webブラウザーにて以下のURLにアクセス

https://<IDG_IPAddress>:5070/oauth/authz?response_type=code&client_i d=OAuthClient01&redirect_uri=https://localhost&scope=/getAccountInfo

%20/getCustomerInfo&state=MyTest

実行結果例 (1/6)

リソース・オーナーは許可サーバー上のユーザー名/パスワードを入力して認証

認証後、リソース・オーナーは許可するスコープを選択してSubmit

許可コード取得

 アクセス許可要求 (Form認証)

 Webブラウザーにて以下のURLにアクセス

https://<IDG_IPAddress>:5070/form/oauth/authz?response_type=code&cli ent_id=OAuthClient01&redirect_uri=https://localhost&scope=/getAccoun tInfo%20/getCustomerInfo&state=MyTest

実行結果例 (2/6)

リソース・オーナーは許可サーバー上のユーザー名/パスワードを入力して認証

認証後、リソース・オーナーは許可するスコープを選択してSubmit

許可コード取得

© 2016 IBM Corporation 60

実行結果例 (3/6)

 アクセス・トークン発行

 cURLにて以下のコマンドを実行

curl -k https://<IDG_IPAddress>:5070/oauth/token -d

"grant_type=authorization_code&code=<Authorization_Code>&redirect_ur i=https://localhost" --user OAuthClient01:passw0rd

 応答電文:

{ "token_type":"bearer",

"access_token":"AAENT0F1dGhDbGllbnQwMRGCj7LJVASb6cEx82JLcoSVw3qEgYXI 1W3340IktnooV02aDzKZ6mLFkV3x88HpPz17_GKlqSvN3SFcLJd3YR94GKM8tpp8omrs -yTyQQGLgwUOZy_sz3n44XgPv4VAOQ", "expires_in":3600,

"scope":"/getAccountInfo /getCustomerInfo",

"refresh_token":"AAEHtq9c8-YLOKSkQaxgyIW0VQ1uQ-UF7FfEtLG8hf8sEckgbLTakJd8a1CgRP8O5dh1fcG05MIMv3qp53W_y6TpygthAtv87O

mdjLM_i5U23Kf828-qWaJXa_R_B8UONFQ" }

実行結果例 (4/6)

 リソース・アクセス

 cURLにて以下のコマンドを実行

/getAccountInfo

curl -k https://<IDG_IPAddress>:5070/getAccountInfo -H

"Authorization:Bearer <Access_Token>"

応答電文:

{ "name": "myAccount",

"balance":1.00 }

/getCustomerInfo

curl -k https://<IDG_IPAddress>:5070/getCustomerInfo -H

"Authorization:Bearer <Access_Token>"

応答電文:

[ { "id":0, "name":"USER01",

"access_token":"AAENT0F1dGhDbGllbnQwMRGCj7LJVASb6cEx82JLcoSVw3qEgYXI1W3340IktnooV

02aDzKZ6mLFkV3x88HpPz17_GKlqSvN3SFcLJd3YR94GKM8tpp8omrs-yTyQQGLgwUOZy_sz3n44XgPv4VAOQ" } ]

© 2016 IBM Corporation 62

実行結果例 (5/6)

 アクセス・トークンの検査

 cURLにて以下のコマンドを実行

curl -k https://<IDG_IPAddress>:5070/oauth/token -d

"grant_type=urn:ibm:datapower:validate&access_token=<Access_Token>"

--user OAuthClient01:passw0rd

 応答電文:

OK (トークンが有効な場合)

{ "valid":true, "token_type":"bearer", "client_id":"OAuthClient01",

"not_after":"133528131", "not_after_text":"2016-03-25T11:08:51Z",

"not_before":"133524531", "not_before_text":"2016-03-25T10:08:51Z",

"resource_owner":"USER01", "scope":"/getAccountInfo /getCustomerInfo" }

NG (トークンが期限切れの場合)

{ "valid":false }

実行結果例 (6/6)

 リフレッシュ・トークンによるアクセス・トークンの再発行

 cURLにて以下のコマンドを実行

curl -k https://<IDG_IPAddress>:5070/oauth/token -d

"grant_type=refresh_token&refresh_token=<Refresh_Token>&scope=/getAc countInfo%20/getCustomerInfo" --user OAuthClient01:passw0rd

 応答電文:

{ "token_type":"bearer",

"access_token":"AAENT0F1dGhDbGllbnQwMX0mij_6CZvofVbL87RvVxhHPYOiNZiy

xpnm9eO-7Xz86MzeNw11_XBOYqTXezw5NobD_AIhV-OHeEN8pS1HhzEvZONpVSvXghHPzmXJVf9t-FAfy10UPasIawztAZH0xg",

"expires_in":3600, "scope":"/getAccountInfo /getCustomerInfo",

"refresh_token":"AAG6viMfP_kwEE0YObrBuWju0bFpV9fnOA-

1lQdBPjgBiESyKld0fSBO5iU2pAMr-jGcuGdW1BXd6Fe3jm5SeVWgsOToS4O1Pur6Ukq0BisnOtMqCR83lw92gp1LMNrBFvs"

}

© 2016 IBM Corporation 64

(参考) バックエンド・サーバーへの情報連携

 HTTPヘッダーにリソース・オーナー、クライアントID、スコープを付 加することが可能

 OAuthクライアント・プロファイルの「拡張」タブ > 「HTTPヘッダーの作

成対象」にて設定

Tips:

 許可コード

 アクセストークン発行後は、同じ許可コードは有効期限内であっても再利用不可

ただし、冗長構成の場合は注意が必要です。詳細は当資料「IDGの冗長構成について」を参照 してください。

 リフレッシュトークン

 有効なアクセストークンがある場合でもリフレッシュトークンで新規アクセストーク ンを発行可能。その際、古いアクセス・トークンは失効されない。

そのため、有効なアクセストークンが複数できてしまうことが考えられます。

 アクセストークン再発行に使用したリフレッシュトークンは、有効期限内であっても 再利用不可。

ただし、冗長構成の場合は注意が必要です。詳細は当資料「IDGの冗長構成について」を参照 してください。

 スコープ

 IDGではスコープを厳密にチェックするため、正確に定義する必要がある。

例えば、許可スコープが「/getAccountInfo」の場合、「/getAccountInfo/xxxx」はスコー プ検査により拒否される

許可スコープを「/getAccountInfo*」とすることで、「/getAccountInfo/xxxx」へのアクセ

スも許可される

© 2016 IBM Corporation 66

エラー応答例 (1/7)

関連したドキュメント