gpt4 book ai didi

android - 如何将 "plain"PKCE 代码质询方法与 AppAuth 结合使用?

转载 作者:行者123 更新时间:2023-11-29 01:12:42 24 4
gpt4 key购买 nike

默认情况下,AppAuth发送 S256 PKCE身份验证请求的代码挑战。如果我需要与仅支持 plain 代码挑战方法的服务器进行互操作,我该如何配置我的授权请求?

最佳答案

iOS:您可以使用 OIDAuthorizationRequest initWithConfiguration:clientId:scope:redirectURL:responseType:state:codeVerifier:codeChallenge:codeChallengeMethod:additionalParameters: 覆盖 PKCE 参数构造函数。这可用于发送自定义 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:您可以通过添加 setCodeVerifier(String, String, String) 来覆盖 PKCE 参数给你的 builder 。这可用于发送自定义 PKCE 方法(默认情况下,库在具有 SHA-256 平台支持的客户端上使用 S256)。

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();

关于android - 如何将 "plain"PKCE 代码质询方法与 AppAuth 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35566299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com