use of com.microsoft.identity.common.internal.providers.oauth2.AccessToken in project grpc-java by grpc.
the class GoogleAuthLibraryCallCredentialsTest method serviceAccountWithScopeNotToJwt.
@Test
public void serviceAccountWithScopeNotToJwt() throws Exception {
final AccessToken token = new AccessToken("allyourbase", new Date(Long.MAX_VALUE));
KeyPair pair = KeyPairGenerator.getInstance("RSA").generateKeyPair();
ServiceAccountCredentials credentials = new ServiceAccountCredentials(null, "email@example.com", pair.getPrivate(), null, Arrays.asList("somescope")) {
@Override
public AccessToken refreshAccessToken() {
return token;
}
};
GoogleAuthLibraryCallCredentials callCredentials = new GoogleAuthLibraryCallCredentials(credentials);
callCredentials.applyRequestMetadata(method, attrs, executor, applier);
assertEquals(1, runPendingRunnables());
verify(applier).apply(headersCaptor.capture());
Metadata headers = headersCaptor.getValue();
Iterable<String> authorization = headers.getAll(AUTHORIZATION);
assertArrayEquals(new String[] { "Bearer allyourbase" }, Iterables.toArray(authorization, String.class));
}
use of com.microsoft.identity.common.internal.providers.oauth2.AccessToken in project vertx-auth by vert-x3.
the class OAuth2IntrospectTest method introspectAccessTokenKeyCloakWay.
@Test
public void introspectAccessTokenKeyCloakWay() {
config = oauthIntrospect;
fixture = fixtureKeycloak;
oauth2.introspectToken(token, res -> {
if (res.failed()) {
fail(res.cause().getMessage());
} else {
AccessToken token = res.result();
assertNotNull(token);
JsonObject principal = token.principal();
assertTrue(principal.getBoolean("active"));
testComplete();
}
});
await();
}
use of com.microsoft.identity.common.internal.providers.oauth2.AccessToken in project vertx-auth by vert-x3.
the class OAuth2IntrospectTest method introspectAccessTokenGoogleWay.
@Test
public void introspectAccessTokenGoogleWay() {
config = oauthIntrospect;
fixture = fixtureGoogle;
oauth2.introspectToken(token, res -> {
if (res.failed()) {
fail(res.cause().getMessage());
} else {
AccessToken token = res.result();
assertNotNull(token);
// make a copy because later we need to original data
JsonObject principal = token.principal().copy();
// clean time specific value
principal.remove("expires_at");
principal.remove("access_token");
assertEquals(fixtureGoogle.getMap(), principal.getMap());
token.isAuthorized("profile", res0 -> {
if (res0.failed()) {
fail(res0.cause().getMessage());
} else {
if (res0.result()) {
// Issue #142
// the test is a replay of the same test so all checks have
// been done above.
// the replay shows that the api can be used from the user object
// directly too
token.introspect(v -> {
if (v.failed()) {
fail(v.cause());
} else {
testComplete();
}
});
} else {
fail("Should be allowed");
}
}
});
}
});
await();
}
use of com.microsoft.identity.common.internal.providers.oauth2.AccessToken in project vertx-auth by vert-x3.
the class OAuth2UserInfoTest method getUserInfoWithParams.
@Test
public void getUserInfoWithParams() {
final AccessToken accessToken = new OAuth2TokenImpl((OAuth2AuthProviderImpl) oauth2, new JsonObject("{\"access_token\":\"eyJhbGciOiJub25lIiwidHlwIjoiSldUIn0.eyJhdXRob3JpemF0aW9uIjp7InBlcm1pc3Npb25zIjpbeyJyZXNvdXJjZV9zZXRfaWQiOiJkMmZlOTg0My02NDYyLTRiZmMtYmFiYS1iNTc4N2JiNmUwZTciLCJyZXNvdXJjZV9zZXRfbmFtZSI6IkhlbGxvIFdvcmxkIFJlc291cmNlIn1dfSwianRpIjoiZDYxMDlhMDktNzhmZC00OTk4LWJmODktOTU3MzBkZmQwODkyLTE0NjQ5MDY2Nzk0MDUiLCJleHAiOjk5OTk5OTk5OTksIm5iZiI6MCwiaWF0IjoxNDY0OTA2NjcxLCJzdWIiOiJmMTg4OGY0ZC01MTcyLTQzNTktYmUwYy1hZjMzODUwNWQ4NmMiLCJ0eXAiOiJrY19ldHQiLCJhenAiOiJoZWxsby13b3JsZC1hdXRoei1zZXJ2aWNlIn0\",\"active\":true,\"scope\":\"scopeA scopeB\",\"client_id\":\"client-id\",\"username\":\"username\",\"token_type\":\"bearer\",\"expires_at\":99999999999000}"));
accessToken.userInfo(userInfo -> {
if (userInfo.failed()) {
fail(userInfo.cause().getMessage());
} else {
assertEquals(fixture, userInfo.result());
testComplete();
}
});
await();
}
use of com.microsoft.identity.common.internal.providers.oauth2.AccessToken in project vertx-auth by vert-x3.
the class AuthCodeImpl method getToken.
/**
* Returns the Access Token object.
*
* @param params - code: Authorization code (from previous step).
* redirectURI: A String that represents the callback uri.
* @param handler - The handler returning the results.
*/
@Override
public void getToken(JsonObject params, Handler<AsyncResult<AccessToken>> handler) {
getToken("authorization_code", params, res -> {
if (res.failed()) {
handler.handle(Future.failedFuture(res.cause()));
return;
}
AccessToken token;
try {
token = new OAuth2TokenImpl(provider, res.result());
} catch (RuntimeException e) {
handler.handle(Future.failedFuture(e));
return;
}
handler.handle(Future.succeededFuture(token));
});
}
Aggregations