对于某些版本的 Android,FB 登录的 Expo AuthSession 不会重定向到 expo App

Posted

技术标签:

【中文标题】对于某些版本的 Android,FB 登录的 Expo AuthSession 不会重定向到 expo App【英文标题】:Expo AuthSession for FB login not redirecting to expo App for some versions of Android 【发布时间】:2018-05-18 14:35:17 【问题描述】:

我遇到了来自 Expo 和 Facebook 登录的 authSession 问题。 Facebook 登录适用于 ios 和我的 android 手机。但是,某些 Android 手机似乎存在重定向问题。 这是手机中的 FB 登录流程,它最终不会完全重定向到应用程序

这是我的 App.json:


  "expo": 
    "name": "Scapegoat",
    "icon": "./app/images/logo.png",
    "version": "1.0.1",
    "sdkVersion": "23.0.0",
    "facebookAppId": "1XXXXXXXXXXX",
    "facebookScheme": "fb1XXXXXXXX",
    "scheme": "exp",
    "ios": 
      "bundleIdentifier": "com.scapegoatllc.scapegoatmobile"
    ,
    "android": 
      "package": "com.scapegoatllc.scapegoatmobile",
      "permissions": [
        "android.permission.ACCESS_NETWORK_STATE",
      ]
    
  

这是我使用 AuthSession 的 facebook 按钮按下功能,

onFacebookButtonPress = async () => 
//const FACEBOOK_APP_ID = 'XXXXXXXXXXXX'; // -> develop
const FACEBOOK_APP_ID = 'XXXXXXXXXXXXX'; // -> staging

const redirectUrl = AuthSession.getRedirectUrl();
//exp://exp.host/@newtonsarr/scapegoat

const  type, params  = await AuthSession.startAsync(
  authUrl:
    `https://www.facebook.com/v2.5/dialog/oauth?response_type=token` +
    `&client_id=$FACEBOOK_APP_ID` +
    `&redirect_uri=$encodeURIComponent(redirectUrl)`,
);

if (type === 'success') 
  this.props.onLoginWithFacebook( access_token: params.access_token );

;

我目前的设置有什么问题吗?如何确保 Facebook 登录始终重定向回应用程序?提前非常感谢。

【问题讨论】:

您好,这是一个很难回答的问题,因为鉴于您提供的信息,它可能是一个错误。你能 dm 我 slack.expo.io 吗?我在那里“布伦特”。 【参考方案1】:

重定向网址错误先尝试登录, 格式为https://auth.expo.io/@username/appname

【讨论】:

以上是关于对于某些版本的 Android,FB 登录的 Expo AuthSession 不会重定向到 expo App的主要内容,如果未能解决你的问题,请参考以下文章

Android Facebook SDK 3.23.0 - AndroidTV 上的 FB 登录

使用 Android 帐户管理器在我的服务器上验证使用 FB 登录的用户

使用 Android 帐户管理器在我的服务器上验证使用 FB 登录的用户

如何检查用户是不是使用 FB SDK 4.0 for Android 登录?

Android Facebook 应用程序在 fb webview 中打开链接,我无法登录自己的网络应用程序

Google 和 Fb 在同一个应用中登录