【发布时间】:2023-03-30 04:38:01
【问题描述】:
当我正在寻找一种将 SAML 单点登录添加到我正在开发的 React Native 应用程序的方法时,我在 SO 或其他地方找不到任何问题(或答案),所以我在这里:请参阅我的回答如下。
【问题讨论】:
标签: react-native google-cloud-platform firebase-authentication expo saml
当我正在寻找一种将 SAML 单点登录添加到我正在开发的 React Native 应用程序的方法时,我在 SO 或其他地方找不到任何问题(或答案),所以我在这里:请参阅我的回答如下。
【问题讨论】:
标签: react-native google-cloud-platform firebase-authentication expo saml
首先,我尝试关注Google's documentation for this,但在对 WebViews 进行了很多混乱并试图对 DOM 撒谎之后,我发现它根本不支持 react native(本来不错的在文档中更清楚地看到)。最终,我决定使用 Expo 的WebBrowser 打开的虚拟网页作为中间人来调整这些说明(遵循first 和second 部分)。这是必需的,因为 firebase 在调用 signInWithRedirect 或 signInWithPopup 时强制协议使用 https(s): 但是当在 JavaScript 中尝试调用甚至嵌套在然而,WebView,expo 调用本机浏览器,因此在 http(s) 协议上工作,同时仍允许将信息传递回应用程序。使用 react native 的 webview 可能有一种方法可以做到这一点,但我找不到任何类似的东西。
这个前言将我引向我想出的解决方案,我forked expo's examples repo 并提交了一个最小的概念证明(pull request 待定)。
显然使用此功能需要您自担风险,我不是网络安全专家,但即使我知道这里有很多攻击媒介。
【讨论】: