gpt4 book ai didi

android - socialauth-android 与 Facebook 授权成功但验证码为空

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:49 26 4
gpt4 key购买 nike

我正在使用 socialauth-android 让我的 Android 用户在 Facebook 上验证自己。

我的问题如下:

我可以成功显示 Facebook 登录页面,用户可以在其中输入凭据并授权我的应用程序。授权完成后,调用SocialAuthAdapter关联的ReponseListener的回调方法onComplete。

这从来没有发生过,因为我收到一个异常,提示验证码为空,但我可以在 Facebook 用户页面上看到我的应用已获得授权。

看来授权成功后,provider还需要一个验证码,以便client可以在下一次请求中包含它。

我也不明白这个空代码是用户 session token 还是其他东西。

有人遇到过类似的问题吗?如何解决?

我已将我的 Facebook 应用配置为 native Android 应用,如图所示 **Facebook App configuration**

显示了代码的简化版本。

public class LoginActivity extends Activity {

private static final String LOG_TAG = "LoginActivity";

SocialAuthAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);

adapter = new SocialAuthAdapter(new ResponseListener());

// [.....]
}
/**
* This method is invoked when the user click on my Facebook button to initiate the
* the authentication process with Facebook
*/
protected void doLogin(){
adapter.authorize(this, Provider.FACEBOOK);
}

private final class ResponseListener implements DialogListener {

@Override
public void onComplete(Bundle values) {

// Variable to receive message status
if (Log.isLoggable(LOG_TAG, Log.DEBUG)) {
Log.d(LOG_TAG, "Authentication Successful");
}

adapter.getUserProfileAsync(new SocialAuthListener<Profile>() {

@Override
public void onError(SocialAuthError arg0) {

Log.e(LOG_TAG, "Cannot retrieve user profile");

}

@Override
public void onExecute(Profile profile) {

Log.d(LOG_TAG, "ValidatedId = " + profile.getValidatedId());

});

}

堆栈跟踪是

Retrieving Access Token in verify response function
Verifying the authentication response from provider
org.brickred.socialauth.exception.SocialAuthException: Verification code is null
at org.brickred.socialauth.oauthstrategy.OAuth2.verifyResponse(OAuth2.java:114)
at org.brickred.socialauth.oauthstrategy.OAuth2.verifyResponse(OAuth2.java:102)
at org.brickred.socialauth.provider.FacebookImpl.doVerifyResponse(FacebookImpl.java:164)
at org.brickred.socialauth.provider.FacebookImpl.verifyResponse(FacebookImpl.java:154)
at org.brickred.socialauth.SocialAuthManager.connect(SocialAuthManager.java:183)
at org.brickred.socialauth.android.SocialAuthDialog$SocialAuthWebViewClient$1.run(SocialAuthDialog.java:243)
at java.lang.Thread.run(Thread.java:856)
org.brickred.socialauth.exception.SocialAuthException: Verification code is null
org.brickred.socialauth.android.SocialAuthError: Unknown Error

最佳答案

http://code.google.com/p/socialauth-android/issues/detail?id=52

You have already authorized yourapp

这已在类似问题上得到修复和回答。只需更新 jar 并删除以前的 jar 。请记住,它( jar )仍处于测试阶段。

关于android - socialauth-android 与 Facebook 授权成功但验证码为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15986651/

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