[英]The OAuth response flow failed
我正在使用aws amplify和react-native-inappbrowser 。 我啟用了 Google SSO 身份驗證並且它工作正常,但是當我添加 GitHub 身份驗證時它沒有按預期工作。 我使用Hub.listen('auth', async (data) => {...}
添加了一個偵聽器,我的urlOpener
中的awsConfig
如下所示:
onst urlOpener = async (url, redirectUrl, settings) => {
try {
if (await InAppBrowser.isAvailable()) {
const { type, url: newUrl } = await InAppBrowser.openAuth(
url,
redirectUrl,
{ ...inAppBrowserSettings, ...settings },
);
if (type === 'success') {
Linking.openURL(newUrl);
}
} else {
Linking.openURL(url);
}
} catch (error) {
Alert.alert(error.message);
}
};
Hub.listener
看起來像這樣:
useEffect(() => {
const unsubscribe = Hub.listen('auth', async (data) => {
const { payload } = data;
const user = payload.data;
switch (payload.event) {
case AuthEnum.SIGN_IN:
handleSignIn(user);
break;
case AuthEnum.SIGN_OUT:
handleSignOut();
break;
case AuthEnum.SIGN_IN_FAILURE:
handleSignInFailure();
break;
}
});
return () => unsubscribe();
}, []);
當我嘗試使用 GitHub 進行身份驗證時,GitHub API 返回正確的令牌,但 aws Hub
捕獲SIGN_IN_FAILURE
並且data
如下所示:
{
"channel": "auth",
"payload": {
"event": "signIn_failure",
"data": {},
"message": "The OAuth response flow failed"
},
"source": "Auth",
"patternInfo": []
}
我不確定為什么會這樣。 解決方案可能是在 GitHub 身份驗證的情況下刪除偵聽器,但我不確定該怎么做,因為InAppBrowser.openAuth()
用於 Google SSO 和 GitHub 身份驗證。
如果我提供的信息不夠,請務必告訴我。 任何建議/幫助都會很棒!
我認為 AWS Amplify 不支持 github oauth。我相信支持的是:Google、Apple、Facebook & Amazon
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.