我正在尝试使用Okta的oauth 2.0 api在React Native应用上构建SSO登录流程。
以下是我想要实现的流程:
(1)webview从/ oauth2 /:authorizationServerId / v1 / authorize呈现登录页面?response_type = code& response_mode = query& client_id = & scope = & ; REDIRECT_URI = ___。 (2)用户登录 (3)webview使用url中的授权代码呈现redirect_uri。 (4)我提取授权代码并将其与客户端ID,客户端密钥和其他必要的参数一起发送到/ oauth2 /:authorizationServerId / v1 / token。 (5)端点以accessToken响应。
我可以使用postman和curl通过这个过程获取accessToken,所以我知道这是有效的。我还验证了这个确切的流程适用于Xamarin应用程序。
但是,在获取授权代码后尝试从我的React Native应用程序中获取/ oauth2 /:authorizationServerId / v1 / token路由时,我总是得到一个没有错误消息的403.
我正在使用fetch进行api调用,并使用非CRNA方式创建我的应用程序。
以前有没有人遇到过这个问题?一般来说,有没有人能够使用这种类型的Okta流程来使用React Native?
起初我认为这是一个CORS问题,但遵循CORS测试here并验证情况并非如此。
我还认为这是一个制作获取请求并同时呈现webview的问题。我建立了自己的Okta登录页面,因此我不必使用webview并使用this流程但得到相同的403.
非常感谢任何和所有这方面的帮助。
谢谢!