如何解决从 Xamarin 表单 android 读取浏览器 URL,以获取从重定向 URL 中的 IDP 发送的自定义 OAuth 代码
我正在尝试在我的 Xamarin 应用程序中实现自定义 OAuth 登录。
单击登录按钮时,我正在从浏览器点击 OAuth API。
它正在重定向到我的自定义 OAuth 身份验证页面,并在初始身份验证后从我的域页面的 auth.html 的 URL 中发送一个身份验证代码。我需要阅读该网址并进一步处理。
我在按钮中的代码点击:
var apiEndpoint = "https://auth.example.com/oauth2/authorize?response_type=code&client_id=myclientid&redirect_uri=https://example.com/apps/auth.html&state=STATE";
await browser.OpenAsync("apiEndpoint",browserLaunchMode.SystemPreferred);
当从我的域重定向 uri 返回时,我需要从 URL 中读取代码,如下所示:
https://orion.lexmark.com/winapps/auth.html?code=12358123-2200-4ga6-a806-8f60f5636ac8&state=STATE
我对 xamarin 世界很陌生,对此的任何帮助都会得到帮助。
解决方法
进行移动 OAuth 的最常见方法是使用私有 URI Schene URL,例如,当它返回到浏览器时,它将使用登录响应调用应用程序:
- com.mycompany.我的应用程序:/回调
通过系统浏览器的集成形式(Android 上的 Chrome 自定义标签)打开 URL 也是标准做法。
开发人员通常还会插入开源 AppAuth libraries 来完成正确使用 OAuth 消息的棘手工作。不过,由于额外的层,这在 Xamarin 中会更难。
我建议您查看 AppAuth 并至少从中借鉴一些想法。我的 Android AppAuth Blog Post 说明了一个快速的工作设置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。