【发布时间】:2020-01-23 16:23:29
【问题描述】:
我正在使用一个 react-native 应用程序,在该应用程序中我使用 AWS Amplify 和联合登录实现了身份验证流程。这是放大配置:
Auth: {
identityPoolId: 'XXX',
region: 'XXX',
mandatorySignIn: false,
userPoolId: 'XXX',
userPoolWebClientId: 'XXX',
oauth: {
domain: env.AWS_OAUTH_DOMAIN,
scope: ['email', 'profile', 'openid','aws.cognito.signin.user.admin', 'given_name', 'family_name', 'user_gender', 'user_birthday', 'user_location'],
redirectSignIn: myapp://signin,
redirectSignOut: myapp://logout,
responseType: 'code',
},
},
一切正常。到现在为止。
现在我必须为其他目的添加另一个 OAuth 身份验证(将 Strava 连接到我的应用程序)。一切正常,直到 Strava 授权对话框在 url 处重定向到我的应用程序:runcard://profilo/servizi?code=XXX&scope=activity%3Aread%2Cread(此回调 url 与我为放大配置设置的不同)。一旦重定向,放大就在那里,准备通过 Amplify OAuth 引发异常:
WARN Possible Unhandled Promise Rejection (id: 0):
TypeError: undefined is not an object (evaluating '_a.accessToken')
我相信由于回调 url 有一个code 参数,Amplify 正在尝试自己完成这项工作。没有成功。
有人遇到同样的问题吗?
【问题讨论】:
-
你有没有设法解决这个问题?
-
不是一个真正的解决方案,但我使用了一种解决方法,我会在这里发布。