標準のログイン手順に加え、JWT Access Token for OAuth 2.0 を介した認証ができるように License Server を設定することで、CAC/PIV カードユーザーがブラウザーを開いて License Server にアクセスし、自動的に認証できるようになります。何らかの理由で JWT Access Token 経由の認証が失敗した場合、ユーザーは標準のログイン画面に移動し、ユーザー名とパスワードでログインすることができます。 この設定を行うには、以下の手順に従ってください。

JWT アクセス トークンによる認証の有効化

OAuth 2.0 の JWT アクセス トークンによる認証を有効にするには、ご使用のディストリビューションに応じて、以下の手順を実行します。

Linux:自己展開型ディストリビューション

<LSS_INSTALL>/app/ ディレクトリにある setVars.sh ファイルに次の行を追加します。

JAVA_OPTS=-Dcom.parasoft.oauth2.jwks.uri=<JWKS endpoint>

Windows:自己展開型ディストリビューション

<LSS_INSTALL>/app/ ディレクトリにある setVars.bat ファイルに次の行を追加します。

JAVA_OPTS=-Dcom.parasoft.oauth2.jwks.uri=<JWKS endpoint>

Web アーカイブ (war) ディストリビューション

JVM 引数に以下を追加します:

-Dcom.parasoft.oauth2.jwks.uri=<JWKS endpoint>

ユーザー名の設定


有効にした場合、License Server は oidc.json ファイルで定義されたマッピングを使用して、JWT アクセス トークンからユーザー名を抽出します。JWT 経由の認証が正しく機能するためには、これらのユーザー名が ユーザー管理 にも存在しなければならないことに注意してください。 <DTP_DATA_DIR>/conf ディレクトリにある oidc.json ファイルを開き、usernames を設定します。 

oidc.jsonファイルのデフォルトの内容
{
"enabled": false,
"issuerUri": "your issuer uri",
"clientId": "your client id",
"clientSecret": "your client secret",
"scopes": ["openid", "profile", "email"],
"claimMappings":
	{ 
		"username": "preferred_username", 
		"firstName": "given_name", 
		"lastName": "family_name", 
		"email": "email" 
	},
"adminUsers": []
}

claimMappings > username 属性のデフォルト値はpreferred_username です。JWT アクセス トークンのユーザー名が異なる要素名にマッピングされている場合は、この値を変更します。このファイル内の他の属性は、JWT アクセス トークンによる認証が有効な場合は無視されるので、設定する必要はありません。 ファイルを設定したら、変更を保存して License Server サービスを再び開始します。

JWT Token モードでの API の使用


License Server が JWT トークン モードのときに License Server または Enterprise Pack の API にアクセスするには、Authorization ヘッダーを使用して、リクエスト ヘッダーで API エンドポイントにアクセス トークンを渡します トークンは次の形式で渡されます。

Authorization: Bearer <access token>

アクセス トークンを取得する方法については、ID アクセス管理ソフトウェアのドキュメントを参照してください。

方法に関係なく、API 呼び出しごとにトークンを渡す必要があります。 



  • No labels