标签: facebook-authorization

如何通过 2FA 使用 Facebook OAuth2

有没有办法将 2FA 添加到 Facebook 的 Oauth2 流程中?为在其 FB 商务管理器帐户上启用 2FA 的用户尝试访问图形 API 的见解端点时,将返回以下错误:

"error": {
    "fbtrace_id": "HrY8K9KfT4U",
    "error_user_msg": "Unknown error",
    "message": "Two factor authentication required. User have to enter a code from SMS or TOTP code generator to pass 2fac. This could happen when accessing a 2fac-protected asset like a page that is owned by a 2fac-protected business manager.",
    "error_subcode": 1404120,
    "type": "OAuthException",
    "error_user_title": "Ask user to pass two factor authentication",
    "is_transient": false,
    "code": 415
  }
Run Code Online (Sandbox Code Playgroud)

facebook facebook-graph-api facebook-authentication facebook-access-token facebook-authorization

6
推荐指数
1
解决办法
812
查看次数

在重新授权期间要求用户输入登录凭据

我正在尝试将新的Facebook SDK 3.0应用到我的Android应用程序中,但我遇到了一个问题.我遇到的问题是,用户被要求再次登录给发布("post_to_wall")的权限,即使用户已经登录,具有读取权限.仅当用户未安装FB应用程序时才会发生这种情况.如果他安装了FB应用程序,则只要求他授予权限.

这是我实现登录的方式:

public void login(Activity activity) {
    Session session = Session.getActiveSession();

    if (session == null || !session.isOpened()) {
        openActiveSession(activity, true, sessionStatusCallback);
    }
}

private Session openActiveSession(final Activity activity, final boolean allowLoginUI, final StatusCallback callback) {
    return openActiveSession(activity, allowLoginUI, new OpenRequest(activity).setCallback(callback));
}

private Session openActiveSession(final Context context, final boolean allowLoginUI, final OpenRequest openRequest) {
    Session session = new Builder(context).setApplicationId(FACEBOOK_APPLICATION_ID).build();
    if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState()) || allowLoginUI) {
        Session.setActiveSession(session);
        session.openForRead(openRequest);
        return session;
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

这是回调的调用方法:

public void call(final Session session, final …
Run Code Online (Sandbox Code Playgroud)

android facebook-android-sdk facebook-authorization

5
推荐指数
1
解决办法
1082
查看次数

onActivityResult与Session的onComplete之间的区别.StatusCallback Facebook Android sdk3.0

我正在使用Facebook Android sdk3.0.用户通过Facebook成功登录后,我想做点什么.我应该在里面实现它onActivityResult还是onComplete功能Session.StatusCallback

实际上这两者有什么区别吗?我可以假设Session.StatusCallback onComplete总是被调用onActivityResult吗?

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
    // Do Something Here?
}


private class SessionStatusCallback implements Session.StatusCallback {

    @Override
    public void call(Session session, SessionState state, Exception exception) {

        if (session.isOpened()) {
             // Or Do Something Here?
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

android facebook facebook-android-sdk facebook-authorization

4
推荐指数
1
解决办法
2676
查看次数