@Override public AuthData generateAuthData( String callbackBaseUrl, String authCode, String id, AuthData initialAuthData, String extra) { Preconditions.checkArgument( Strings.isNullOrEmpty(extra), "Extra data not expected for OAuth flow"); Preconditions.checkArgument( initialAuthData != null, "Initial auth data expected for " + config.getServiceName()); OAuthGetAccessToken accessTokenRequest = new OAuthGetAccessToken(config.getAccessTokenUrl()); accessTokenRequest.transport = httpTransport; accessTokenRequest.temporaryToken = ((TokenSecretAuthData) initialAuthData).getToken(); accessTokenRequest.consumerKey = clientId; accessTokenRequest.verifier = authCode; accessTokenRequest.signer = config.getAccessTokenSigner( clientSecret, ((TokenSecretAuthData) initialAuthData).getSecret()); TokenSecretAuthData accessToken; try { OAuthCredentialsResponse response = accessTokenRequest.execute(); accessToken = new TokenSecretAuthData(response.token, response.tokenSecret); } catch (IOException e) { monitor.severe(() -> "Error retrieving request token", e); return null; } return accessToken; }
@NotNull public static GitLabToken obtainAccessToken(@NotNull String gitlabUrl, @NotNull String username, @NotNull String password, boolean sudoScope) throws IOException { try { final OAuthGetAccessToken tokenServerUrl = new OAuthGetAccessToken(gitlabUrl + "/oauth/token" + (sudoScope ? "?scope=api%20sudo" : "")); final TokenResponse oauthResponse = new PasswordTokenRequest(transport, JacksonFactory.getDefaultInstance(), tokenServerUrl, username, password).execute(); return new GitLabToken(TokenType.ACCESS_TOKEN, oauthResponse.getAccessToken()); } catch (TokenResponseException e) { if (sudoScope && e.getStatusCode() == HttpURLConnection.HTTP_UNAUTHORIZED) { // Fallback for pre-10.2 gitlab versions final GitlabSession session = GitlabAPI.connect(gitlabUrl, username, password); return new GitLabToken(TokenType.PRIVATE_TOKEN, session.getPrivateToken()); } else { throw new GitlabAPIException(e.getMessage(), e.getStatusCode(), e); } } }
getAccessToken.verifier= "VERIFIER_CODE"; getAccessToken.consumerKey = OAuth2ClientCredentials.CONSUMER_KEY; OAuthCredentialsResponse accessTokenResponse = getAccessToken.execute();
public Credential complete(String authorizationCode) throws IOException { Preconditions.checkNotNull(transport, "Must call setHttpTransport before calling complete."); OAuthGetAccessToken accessToken = new OAuthGetAccessToken(authorizationServerUrl); accessToken.temporaryToken = tempToken; accessToken.transport = transport; OAuthHmacSigner signer = new OAuthHmacSigner(); signer.clientSharedSecret = consumerSecret; signer.tokenSharedSecret = tempTokenSecret; accessToken.signer = signer; accessToken.consumerKey = consumerKey; accessToken.verifier = authorizationCode; OAuthCredentialsResponse credentials = accessToken.execute(); signer.tokenSharedSecret = credentials.tokenSecret; OAuthHmacCredential accessCredential = new OAuthHmacCredential( userId, consumerKey, consumerSecret, credentials.tokenSecret, credentials.token); return accessCredential; }
public Credential complete(String authorizationCode) throws IOException { Preconditions.checkNotNull(transport, "Must call setHttpTransport before calling complete."); OAuthGetAccessToken accessToken = new OAuthGetAccessToken(authorizationServerUrl); accessToken.temporaryToken = tempToken; accessToken.transport = transport; OAuthHmacSigner signer = new OAuthHmacSigner(); signer.clientSharedSecret = consumerSecret; signer.tokenSharedSecret = tempTokenSecret; accessToken.signer = signer; accessToken.consumerKey = consumerKey; accessToken.verifier = authorizationCode; OAuthCredentialsResponse credentials = accessToken.execute(); signer.tokenSharedSecret = credentials.tokenSecret; OAuthHmacCredential accessCredential = new OAuthHmacCredential( userId, consumerKey, consumerSecret, credentials.tokenSecret, credentials.token); return accessCredential; }
getAccessToken = new OAuthPostAccessToken(accessTokenUri); } else { getAccessToken = new OAuthGetAccessToken(accessTokenUri); final OAuthCredentialsResponse credentials = getAccessToken.execute();