デフォルトでは、AppAuthは認証リクエストでS256
PKCEコード チャレンジを送信します。コード チャレンジ方式のみをサポートするサーバーと相互運用する必要がある場合plain
、認証要求をどのように構成すればよいですか?
質問する
1427 次
1 に答える
3
iOS : コンストラクターを使用して PKCE パラメーターをオーバーライドできますOIDAuthorizationRequest initWithConfiguration:clientId:scope:redirectURL:responseType:state:codeVerifier:codeChallenge:codeChallengeMethod:additionalParameters:
。これは、カスタム PKCE メソッドを送信するために使用できます (ライブラリは のみをサポートしますS256
)。
// builds authentication request
NSString *codeVerifier = [OIDAuthorizationRequest generateCodeVerifier];
OIDAuthorizationRequest *request =
[[OIDAuthorizationRequest alloc] initWithConfiguration:configuration
clientId:kClientID
scope:@"openid profile"
redirectURL:redirectURI
responseType:OIDResponseTypeCode
state:[OIDAuthorizationRequest generateState]
codeVerifier:codeVerifier
codeChallenge:codeVerifier
codeChallengeMethod:@"plain"
additionalParameters:nil];
Android : ビルダーに追加することで、PKCE パラメーターをオーバーライドできますsetCodeVerifier(String, String, String)
。これは、カスタム PKCE メソッドを送信するために使用できます (デフォルトでは、ライブラリはS256
SHA-256 プラットフォームをサポートするクライアントで使用します)。
import net.openid.appauth.CodeVerifierUtil;
String codeVerifier = CodeVerifierUtil.generateRandomCodeVerifier();
AuthorizationRequest authRequest = new AuthorizationRequest.Builder(
serviceConfig,
CLIENT_ID,
AuthorizationRequest.RESPONSE_TYPE_CODE,
REDIRECT_URI)
.setScope(SCOPE)
.setCodeVerifier(codeVerifier, codeVerifier, "plain")
.build();
于 2016-02-22T23:57:04.790 に答える