2016-02-22 2 views

Répondre

0

iOS: Vous pouvez remplacer les paramètres PKCE en utilisant le constructeur OIDAuthorizationRequest initWithConfiguration:clientId:scope:redirectURL:responseType:state:codeVerifier:codeChallenge:codeChallengeMethod:additionalParameters:. Cela peut être utilisé pour envoyer une méthode PKCE personnalisée (la bibliothèque ne prend en charge que 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: Vous pouvez remplacer les paramètres de PKCe en ajoutant setCodeVerifier(String, String, String) à votre constructeur. Cela peut être utilisé pour envoyer une méthode PKCE personnalisée (par défaut, la bibliothèque utilise S256 sur les clients prenant en charge la plate-forme 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();