问题详细描述:
登录后(以我的方式是 Microsoft - Azure),Expo 给我这个错误:
日志说:
在我看来,从 Google Chrome 登录重定向回来存在问题,Safari (iOS) 直接打开 expo 应用程序,而 Android 则必须打开浏览器的外部源。
有一些代码来源:
// Endpoint
const discovery = useAutoDiscovery(`https://login.microsoftonline.com/${tenantID}/v2.0`);
// Request
const [request, response, promptAsync] = useAuthRequest(
{
clientId: process.env.EXPO_PUBLIC_CLIENT_ID,
scopes: ["openid", "profile", "email", "offline_access", "User.Read.All"],
redirectUri: process.env.EXPO_PUBLIC_REDIRECT_URI,
},
discovery
);
我使用博览会文档中的方法:
https://docs.expo.dev/guides/authentication/#azure
登录源
const handleLogin = async () => {
try {
const codeResponse = await promptAsync();
if (request && codeResponse?.type === "success" && discovery) {
const res = await exchangeCodeAsync(
{
clientId,
code: codeResponse.params.code,
extraParams: request.codeVerifier
? { code_verifier: request.codeVerifier }
: undefined,
redirectUri,
},
discovery
);
setToken(res.accessToken);
await gettingAllDatas(); // Fetch and store data here
}
} catch (error) {
console.error("Error handling login:", error);
}
};
感谢您的回复:)
同样的问题!你找到解决办法了吗?