本文整理汇总了Java中com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload类的典型用法代码示例。如果您正苦于以下问题:Java Payload类的具体用法?Java Payload怎么用?Java Payload使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Payload类属于com.google.api.client.googleapis.auth.oauth2.GoogleIdToken包,在下文中一共展示了Payload类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: idTokenPayloadToGoogleAccount
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
private static GoogleAccount idTokenPayloadToGoogleAccount(Payload payload) {
String id = payload.getSubject();
if (Preconditions.isEmptyString(id)) {
LOGGER.error("No subject ID found in ID token payload, please check your scope settings.");
return null;
}
String email = payload.getEmail();
if (Preconditions.isEmptyString(email)) {
LOGGER.error("No email found in ID token payload, please check your scope settings.");
return null;
}
// boolean emailVerified = Boolean.valueOf(payload.getEmailVerified());
// LOGGER.debug(String.format("email: %s (verified: %s)", email, emailVerified));
String name = (String) payload.get("name");
if (Preconditions.isEmptyString(name)) {
name = "John/Jane Doe";
}
// LOGGER.debug(String.format("name: %s", name));
String pictureUrl = (String) payload.get("picture");
if (Preconditions.isEmptyString(pictureUrl)) {
pictureUrl = "https://ssl.gstatic.com/accounts/ui/avatar_1x.png";
}
// LOGGER.debug(String.format("pictureUrl: %s", pictureUrl));
// String locale = (String) payload.get("locale");
// LOGGER.debug(String.format("locale: %s", locale));
// String familyName = (String) payload.get("family_name");
// String givenName = (String) payload.get("given_name");
// LOGGER.debug(String.format("Full Name: %s,%s", familyName, givenName));
return new GoogleAccount(id, email, name, pictureUrl);
}
开发者ID:sgr-io,项目名称:social-signin,代码行数:33,代码来源:GoogleSignInService.java
示例2: setUp
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
payload = new Payload();
payload.setAuthorizedParty(CLIENT_ID);
payload.setAudience(AUDIENCE);
payload.setEmail(EMAIL);
payload.setSubject(USER_ID);
authenticator = new GoogleJwtAuthenticator(verifier);
request = new MockHttpServletRequest();
attr = Attribute.from(request);
attr.set(Attribute.API_METHOD_CONFIG, config);
attr.set(Attribute.ENABLE_CLIENT_ID_WHITELIST, true);
request.addHeader(GoogleAuth.AUTHORIZATION_HEADER, "Bearer " + TOKEN);
when(token.getPayload()).thenReturn(payload);
}
开发者ID:cloudendpoints,项目名称:endpoints-java,代码行数:16,代码来源:GoogleJwtAuthenticatorTest.java
示例3: tokenSignIn
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
@RequestMapping(value = "/tokensignin", method = RequestMethod.POST)
public void tokenSignIn(@RequestParam("token") String token, HttpServletResponse response)
throws GeneralSecurityException, IOException {
final NetHttpTransport transport = GoogleNetHttpTransport.newTrustedTransport();
final JacksonFactory jsonFactory = JacksonFactory.getDefaultInstance();
GoogleIdTokenVerifier verifier =
new GoogleIdTokenVerifier.Builder(transport, jsonFactory)
.setAudience(Collections.singletonList(oauthClientId))
.build();
final GoogleIdToken googleIdToken = verifier.verify(token);
if (googleIdToken == null) {
response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final Payload payload = googleIdToken.getPayload();
final Boolean emailVerified = payload.getEmailVerified();
if (emailVerified) {
final String login = userDetailDao.getUserLoginByEmail(payload.getEmail());
if (StringUtils.isNotEmpty(login)) {
final UserAuthView userDetails = userDetailDao.getUserAuthView(login);
final Authentication auth =
new UsernamePasswordAuthenticationToken(userDetails,
null,
userDetails.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(auth);
response.setStatus(HttpServletResponse.SC_OK);
} else {
response.setStatus(HttpServletResponse.SC_PRECONDITION_FAILED);
}
}
}
开发者ID:kTT,项目名称:adjule,代码行数:37,代码来源:UserAuthEndpoint.java
示例4: getGoogleId
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
private static String getGoogleId(String gToken) {
if (gToken != null) {
Checker checker = new Checker(web_clientId, audience);
Payload payload = checker.check(gToken);
if (payload != null) {
return payload.getUserId();
}
}
return null;
}
开发者ID:dasa123,项目名称:GisWeb,代码行数:13,代码来源:Application.java
示例5: getGoogleMail
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
private static String getGoogleMail(String gToken) {
if (gToken != null) {
Checker checker = new Checker(web_clientId, audience);
Payload payload = checker.check(gToken);
if (payload != null) {
return payload.getEmail();
}
}
return null;
}
开发者ID:dasa123,项目名称:GisWeb,代码行数:13,代码来源:Application.java
示例6: getUserByIdToken
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
public User getUserByIdToken(String idTokenString) throws GeneralSecurityException, IOException, IllegalArgumentException, ObjectNotFoundException, NdexException {
ApacheHttpTransport.Builder builder = new ApacheHttpTransport.Builder();
GoogleIdTokenVerifier localVerifier = new GoogleIdTokenVerifier.Builder(builder.build(), new JacksonFactory())
.setAudience(Collections.singletonList(clientID))
// Or, if multiple clients access the backend:
//.setAudience(Arrays.asList(CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3))
.build();
GoogleIdToken idToken = localVerifier.verify(idTokenString);
if (idToken != null) {
Payload payload = idToken.getPayload();
// Print user identifier
// String userId = payload.getSubject();
// System.out.println("User ID: " + userId);
// Get profile information from payload
String email = payload.getEmail();
/* boolean emailVerified = Boolean.valueOf(payload.getEmailVerified());
String name = (String) payload.get("name");
String pictureUrl = (String) payload.get("picture");
String locale = (String) payload.get("locale");
String familyName = (String) payload.get("family_name");
String givenName = (String) payload.get("given_name"); */
try (UserDAO userDao = new UserDAO()) {
User user = userDao.getUserByEmail(email.toLowerCase(),true);
return user;
} catch ( SQLException e1) {
e1.printStackTrace();
throw new UnauthorizedOperationException("SQL Error when getting user by email: " + e1.getMessage());
}
}
throw new UnauthorizedOperationException("Invalid OAuth ID token.");
}
开发者ID:ndexbio,项目名称:ndex-rest,代码行数:39,代码来源:GoogleOpenIDAuthenticator.java
示例7: getUserUUIDByIdToken
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
public UUID getUserUUIDByIdToken(String idTokenString) throws GeneralSecurityException, IOException, IllegalArgumentException, ObjectNotFoundException, NdexException {
ApacheHttpTransport.Builder builder = new ApacheHttpTransport.Builder();
GoogleIdTokenVerifier localVerifier = new GoogleIdTokenVerifier.Builder(builder.build(), new JacksonFactory())
.setAudience(Collections.singletonList(clientID))
// Or, if multiple clients access the backend:
//.setAudience(Arrays.asList(CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3))
.build();
GoogleIdToken idToken = localVerifier.verify(idTokenString);
if (idToken != null) {
Payload payload = idToken.getPayload();
// Print user identifier
String userId = payload.getSubject();
System.out.println("User ID: " + userId);
// Get profile information from payload
String email = payload.getEmail();
try (UserDAO userDao = new UserDAO()) {
UUID userUUID = userDao.getUUIDByEmail(email.toLowerCase());
return userUUID;
} catch ( SQLException e1) {
e1.printStackTrace();
throw new UnauthorizedOperationException("SQL Error when getting user by email: " + e1.getMessage());
}
}
throw new UnauthorizedOperationException("Invalid OAuth ID token.");
}
开发者ID:ndexbio,项目名称:ndex-rest,代码行数:35,代码来源:GoogleOpenIDAuthenticator.java
示例8: parseGoogleAccountFromIdToken
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
private static GoogleAccount parseGoogleAccountFromIdToken(String clientId, String idTokenString) {
Preconditions.notEmptyString(clientId, "OAuth client ID should be provided.");
Preconditions.notEmptyString(idTokenString, "IdToken should be provided.");
GoogleIdTokenVerifier oldVerifier = new GoogleIdTokenVerifier.Builder(getDefaultHttpTransport(), getDefaultJsonFactory())
.setAudience(Collections.singletonList(clientId))
// For Android Play Services older than 8.3 and web client
.setIssuer("accounts.google.com")
.build();
GoogleIdTokenVerifier newVerifier = new GoogleIdTokenVerifier.Builder(getDefaultHttpTransport(), getDefaultJsonFactory())
.setAudience(Collections.singletonList(clientId))
// For Android Play Services newer than 8.3
.setIssuer("https://accounts.google.com")
.build();
GoogleIdToken idToken;
try {
idToken = oldVerifier.verify(idTokenString);
if (idToken == null) {
idToken = newVerifier.verify(idTokenString);
}
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
return null;
}
if (idToken == null) {
LOGGER.warn(String.format("Invalid or expired Google ID token: %s", idTokenString));
return null;
}
Payload payload = idToken.getPayload();
for (Entry<String, Object> entry : payload.entrySet()) {
LOGGER.trace(String.format("%s=%s", entry.getKey(), entry.getValue()));
}
return idTokenPayloadToGoogleAccount(payload);
}
开发者ID:sgr-io,项目名称:social-signin,代码行数:39,代码来源:GoogleSignInService.java
示例9: processRegistration
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
@Deprecated
@CrossOrigin(origins="*", maxAge=3600)
@RequestMapping(value="/tokensigningoogle_deprecated", method = RequestMethod.POST, headers = "content-type=application/x-www-form-urlencoded")
public String processRegistration(@RequestParam("idtoken") String idTokenString) //, ModelMap model)
throws GeneralSecurityException, IOException {
logger.info("Doing tokensigningoogle");
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(new NetHttpTransport(), new GsonFactory())
.setAudience(Arrays.asList(environment.getRequiredProperty("google.client_id"))).setIssuer("accounts.google.com").build();
GoogleIdToken idToken = verifier.verify(idTokenString);
if (idToken != null) {
Payload payload = idToken.getPayload();
// Print user identifier
String userId = payload.getSubject();
// Get profile information from payload
String email = payload.getEmail();
logger.info("Logged in " + userId + " " + email);
boolean emailVerified = Boolean.valueOf(payload.getEmailVerified());
//List<User> users = DbFunction.listHqlNew("FROM User WHERE email = :email", "email", email);
if (!emailVerified ) { //|| users.isEmpty()) {
return "/error.html";
} else {
//List<String> roles = DbFunction.listSQLNew(
// "SELECT role.name FROM user_role_association JOIN role ON role.id = role_id JOIN user on user.id = user_id WHERE user.email = :email",
// "email", email);
List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
//for (String role : roles) {
// authorities.add(new SimpleGrantedAuthority(role));
//}
authorities.add(new SimpleGrantedAuthority("USER_AUTH0RITY"));
UserDetails userDetails = new org.springframework.security.core.userdetails.User(userId,
"xxy", true, true, true, true, authorities);
Authentication authentication = new UsernamePasswordAuthenticationToken(userId, null,
userDetails.getAuthorities());
//UserDetails userDetails = new org.springframework.security.core.userdetails.User(users.get(0).getName(),
// "xx", users.get(0).isEnabled(), true, true, true, authorities);
//Authentication authentication = new UsernamePasswordAuthenticationToken(users.get(0).getName(), null,
// userDetails.getAuthorities());
SecurityContextHolder.clearContext();
SecurityContextHolder.getContext().setAuthentication(authentication);
httpSession.setAttribute("sch", userDetails);
logger.info("first check " + httpSession.getAttribute("sch"));
return "/browsing/databases";
}
} else {
System.out.println("Invalid ID token.");
}
return "/error.html";
}
开发者ID:DiscourseDB,项目名称:discoursedb-core,代码行数:54,代码来源:BrowsingRestController.java
示例10: createAuthentication
import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload; //导入依赖的package包/类
private Authentication createAuthentication(Payload payload)
{
String email = payload.getEmail();
if (email == null)
{
throw new AuthenticationServiceException(
"Google URI token is missing required [email] claim, did you forget to specify scope [email]?");
}
Boolean emailVerified = payload.getEmailVerified();
if (emailVerified != null && !emailVerified)
{
throw new AuthenticationServiceException("Google account email is not verified");
}
String principal = payload.getSubject();
String credentials = payload.getAccessTokenHash();
return runAsSystem(() ->
{
User user;
user = dataService.query(USER, User.class).eq(GOOGLEACCOUNTID, principal).findOne();
if (user == null)
{
// no user with google account
user = dataService.query(USER, User.class).eq(EMAIL, email).findOne();
if (user != null)
{
// connect google account to user
user.setGoogleAccountId(principal);
dataService.update(USER, user);
}
else
{
// create new user
String username = email;
String givenName = payload.containsKey(PROFILE_KEY_GIVEN_NAME) ? payload.get(PROFILE_KEY_GIVEN_NAME)
.toString() : null;
String familyName = payload.containsKey(PROFILE_KEY_FAMILY_NAME) ? payload.get(
PROFILE_KEY_FAMILY_NAME).toString() : null;
user = createMolgenisUser(username, email, givenName, familyName, principal);
}
}
if (!user.isActive())
{
throw new DisabledException(MolgenisLoginController.ERROR_MESSAGE_DISABLED);
}
// create authentication
Collection<? extends GrantedAuthority> authorities = userDetailsService.getAuthorities(user);
return new UsernamePasswordAuthenticationToken(user.getUsername(), credentials, authorities);
});
}
开发者ID:molgenis,项目名称:molgenis,代码行数:52,代码来源:GoogleAuthenticationProcessingFilter.java
注:本文中的com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论