react-native-app-auth 中的 RedirectURL 是什么 - 我如何返回到我的应用程序?

use*_*977 3 oauth-2.0 react-native identityserver4

我是 React-Native 开发领域的菜鸟,我正在尝试研究如何配置 FormidableLabs 的 react-native-app-auth 插件,以便我们应用程序的用户可以登录我们的 Identity Server 4 实现,然后返回应用程序。

我可以很容易地访问登录表单 - 但登录后它会转到浏览器中的另一个 Identity Server 页面,而不是返回到应用程序。我认为这是因为配置错误,但我已经在网上广泛搜索了一个答案,该答案实际上解释了 redirectUrl 实际指向的内容 - 在所有示例中,它只指向 io.identityserver.demo:/oauthredirect . 是否可以重定向回应用程序?

我还注意到,对登录页面的原始请求没有将 ReturnUrl 传递给它——该参数为空。

我觉得我在这里遗漏了一些明显的东西,但我想不出它是什么。

这是应用程序中的相关代码:

import {authorize} from 'react-native-app-auth';
...
const config = {
                    issuer: 'http://10.0.2.2:5000',
                    clientId: 'MyApp',
                    redirectUrl: '?? what goes here ??',
                    scopes: ['openid', 'profile', 'offline_access'],
                    serviceConfiguration: {
                        authorizationEndpoint: `http://10.0.2.2:5000/Account/Login`,
                        tokenEndpoint: `http://10.0.2.2:5000/connect/token`
                    }            
                }
                const result = await authorize(config);
Run Code Online (Sandbox Code Playgroud)

身份服务器在端口 5000 上运行(在我电脑上的本地主机中)。

谁能指出我做错了什么?

提前致谢!

Gar*_*her 5

重定向 URI 有两个主要选择,第一个选项更简单,但安全性稍差:

为了重定向返回到应用程序,您需要在 Android / iOS 系统中注册该方案。

私有 URI 方案

我的文章应该使您能够快速运行标准示例并使私有 URI 方案工作。然后,您可以在 ReactNative 应用程序中设置类似的 Android / iOS 设置:

声称的 HTTPS 方案

这是更多的努力,但我的博客也有 Android / iOS 示例,您可以在感兴趣的情况下运行和阅读。