我正在使用 SocialAuth v4.3 java 库来提供社交登录功能。它适用于 Google、Facebook,但不适用于 Google-plus。我收到以下错误:
org.brickred.socialauth.SocialAuthConfig - Configuration for provider googleplus is not available
关于如何解决这个问题的任何线索?另一个问题是使用 Google 登录不提供出生日期、位置。是否有可能获得这些信息?
我正在使用 SocialAuth v4.3 java 库来提供社交登录功能。它适用于 Google、Facebook,但不适用于 Google-plus。我收到以下错误:
org.brickred.socialauth.SocialAuthConfig - Configuration for provider googleplus is not available
关于如何解决这个问题的任何线索?另一个问题是使用 Google 登录不提供出生日期、位置。是否有可能获得这些信息?
使用 Google 和 Facebook 提供的 API,而不是 SocialAuth。它们非常简单且易于集成。我已经浪费了很多时间来使用这个 SocialAuth 并且不希望你们也这样做。
1)您必须指定Google+
授权凭据。
创建assets/oauth_consumer.properties
文件
googleapis.com.consumer_key=YOUR_CONSUMER_KEY
googleapis.com.consumer_secret=SECRET
或以编程方式添加凭据
socialAuthAdapter.addConfig(SocialAuthAdapter.Provider.GOOGLEPLUS, YOUR_CONSUMER_KEY, SECRET, null /*permissions*/);
2)callback url
应在SocialAuthAdapter
socialAuthAdapter.addCallBack(SocialAuthAdapter.Provider.GOOGLEPLUS, "PLACE_YOUR_URL_HERE");
如何创建callback url
(又名。redirect_uri
)你可以在这里阅读
3) 指定响应监听器
socialAuthAdapter = new SocialAuthAdapter(new ResponseListener());
private class ResponseListener implements DialogListener {
@Override
public void onComplete(Bundle bundle) {
final String providerName = bundle.getString(SocialAuthAdapter.PROVIDER);
String accessToken = socialAuthAdapter.getCurrentProvider().getAccessGrant().getKey();
// login to your server using accessToken, or make calls to google+ API using this token
}
@Override
public void onError(final SocialAuthError socialAuthError) {
}
@Override
public void onCancel() {
}
@Override
public void onBack() {
}
}
我也有登录问题,问题是不正确的redirect_uri
。阅读更多关于oauth2
这里