首页 > 解决方案 > Expo google登录重定向到google主页

问题描述

我正在尝试将 google 登录功能添加到我的应用程序中。这在 android 模拟器上运行良好,但我在实际设备上运行该应用程序,但它不工作。问题是在登录过程谷歌重定向到它自己的主页而不是应用程序之后。

我遵循的步骤。

我用来打开谷歌登录页面的功能

const result = await Google.logInAsync({
  androidStandaloneAppClientId: '131814552849-bi76mebb3eq5jsdergerdfh6werjd8udpen43.apps.googleusercontent.com',
  scopes: ['profile', 'email'],
  behavior: 'web
});

应用程序.json

我在 certificateHash 中使用了 Google 证书哈希 (SHA-1)

 "android": {
   "package": "com.abc.mycompnay",
   "permissions": ["READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE"],
   "config": {
     "googleSignIn": {
       "apiKey": "AIzaSyB6qp9VXGXrtwuihvna40F57xABKXJfEQ",
       "certificateHash": "29FD8B159A28F2F48ED3283548NEBFC957F6821D"
     }
   }
 }

谷歌控制台设置

在此处输入图像描述

客户端密钥

在此处输入图像描述

登录后以自己的主页结束

在此处输入图像描述

标签: androidexpogoogle-signin

解决方案


我设法修复它。下面是我所做的。我在配置中传递了redirectUrl

import * as AppAuth from 'expo-app-auth';

const result = await Google.logInAsync({
  androidStandaloneAppClientId: 'myKey,
  iosStandaloneAppClientId: 'myKey,
  scopes: ['profile', 'email'],
  behavior: 'web',
  redirectUrl: `${AppAuth.OAuthRedirect}:/oauthredirect`
});

推荐阅读