如何在flutter中实现SAML或者(SSO)类似的认证方法?

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

我一直在寻找Flutter中的SAML实现,但没有得到想要的结果。我了解到 SAML 是一个基于浏览器的安全系统,但我不明白如何在 flutter 中实现 SAML。

如果不是 SAML 那么替代方案是什么?

我将非常感谢任何帮助和建议。

flutter saml
1个回答
0
投票

有两个主要的身份验证标准:Saml 和 OAuth。 Saml 是一种古老、稳定、完整且在网络、公共服务和企业 (xml) 中随处得到广泛支持的标准。 OAuth/OpenId 是最近由一些大广告公司控制的标准(rest/json),主要为最终用户消费者设计。

Saml 的唯一问题是它是通用的,但它是为网络而不是设备设计的。但如今,许多网站都封装在设备应用程序内,因此 Saml 不太流行。总的来说,大型广告公司不需要 Saml,只提供 OAuth。

所以 Flutter 是一个 Google 工具包,而 OAuth 特别是由 Google 控制的。而且 Google 希望保持对您以及所有企业和公共服务的控制,因此 Google 尝试使用其他标准使身份验证复杂化,因此没有在 Flutter 内部提供简单的方法来使用 Saml 进行身份验证/授权。

在您的情况下,您需要使用第三方包在应用程序内实现 Saml。在 https://devcodef1.com/news/1014561/implementing-saml-in-flutter 上有一个通过 Saml on Flutter 进行身份验证的包,但它似乎不再可用,并且 https:// 上没有简单的包pub.dev/packages?q=saml.

无论如何,作为客户端应用程序,Saml 只需要重定向到身份提供商的身份验证页面即可。事实上,您只需要包含一个 webview 即可获取凭据并在客户端应用程序、服务器服务和身份提供商之间共享它们。

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