在React Native中实现Okta并获取:对预检请求的响应不会通过访问

问题描述 投票:0回答:3

我正在使用React Native实现Okta signin小部件

我明白了:

Failed to load https://dev-827074.oktapreview.com/api/v1/sessions/me: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.

尝试登录后,我得到以下内容:

UnsupportedBrowserError {name: "UNSUPPORTED_BROWSER_ERROR", message: "There was an error sending the request - have you enabled CORS?"}

react-native okta
3个回答
0
投票

您可能需要在Okta应用程序的常规设置中将http://localhost:3000/implicit/callback添加到应用程序的登录重定向URI中

Okta Login Redirect URIs


0
投票

您编写的API不支持CORS。 CORS或跨源资源共享允许Web应用程序向属于不同域的API提交请求。应在API端启用此设置。

这就是它的工作原理,每当将请求发送到不同的域时,OPTIONS方法就会发送到服务器。服务器响应Web应用程序的可用选项。如果支持动词,浏览器将使用适当的动词或方法发送实际请求(例如,GET或POST)。如果不支持该动词,则会收到上述错误消息。

简而言之,为您的API启用CORS。如果它是Node / Express API,它只是一个简单的cors包,您需要添加到您的项目和使用。


0
投票

我们收到了Okta的类似错误。我们要做的是将承载webview的服务器的主机名添加为Trusted Origin。

API - > Trusted Origins - > Add Origin

您可以添加多个来源,您可能需要添加http://localhost:3000

© www.soinside.com 2019 - 2024. All rights reserved.