gpt4 book ai didi

java - SocialAuth 和 Google

转载 作者:行者123 更新时间:2023-12-01 04:46:57 25 4
gpt4 key购买 nike

我正在构建一个登录模块,您可以在其中使用各种社交网络帐户登录。第一步是 LinkedIn 和 Google。

LinkedIn 部分工作正常,但 Google 部分则不然。我认为问题在于我的代码在身份验证之前,因为返回 url 有 openid 参数,而不是 OAuth 参数。这是重定向之前的代码:

HttpSession session = request.getSession();
SocialAuthConfig config = SocialAuthConfig.getDefault();
try {
config.load("/oauth_consumer.properties");
} catch (Exception ex) {
System.out.println(ex);
}

//Create an instance of SocialAuthManager and set config
SocialAuthManager manager = new SocialAuthManager();
try {
manager.setSocialAuthConfig(config);
} catch (Exception ex) {
System.out.println(ex);
}

//URL of YOUR application which will be called after authentication
String successUrl = "http://localhost:8080/ProjectName/completelogin.do";
String url = "";
try {
url = manager.getAuthenticationUrl(type, successUrl).toString();
} catch (Exception ex) {
System.out.println(ex);
}

// Store in session
session.setAttribute("authManager", manager);

response.sendRedirect(url);

这是我的 Google oauth_consumer.properties 部分

www.google.com.consumer_key = 81XXXXXX466.apps.googleusercontent.com
www.google.com.consumer_secret = WN0oXXXXXXXHoCeSocQK
www.google.com.custom_permissions=https://www.googleapis.com/auth/userinfo.profile,https://www.googleapis.com/auth/userinfo.email

我可以强制 Google 使用 OAuth 身份验证而不是 OpenID 身份验证吗?我已经使用 OAuth 使用另一个框架登录了 google,它的效果非常好。只是现在,由于我想使用多个社交网站,所以我不想继续重新发明轮子,而只是使用socialauth...

最佳答案

Google OpenId 身份验证端点是 https://accounts.google.com/o/openid2/auth ,OAuth2端点是/o/oauth2/auth。您需要将最终用户重定向到 OAuth2 端点,以告诉(或“强制”)Google 使用 OAuth2。

关于java - SocialAuth 和 Google,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15665050/

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