azure-active-directory - 通过 SSO (SAML) 为来自 Internet 的任何用户(不仅仅是公司用户)登录
问题描述
我已在现有应用程序中包含 SSO (SAML) 授权。但对我来说,发现只有 2 种类型的用户可以通过我添加的提供程序(Okta、Azure AD)使用登录名,这让我感到不快:
- 位于提供商公司目录中的用户(例如,我在我的帐户上做了一个应用程序,没有更多用户。这意味着任何其他用户将无法使用登录表单,因为他不是我的租户的成员)
- 公司的第三方用户,其管理员已从常规列表中添加了我的应用程序模板并将其用户连接到该模板。
我期望其他结果,我需要任何用户能够通过这些提供商登录(无论他是在公司目录中还是拥有自己的未集成到我的应用程序中的单独帐户)我考虑将 SAML 协议更改为OIDC(OpenID Connect),但在我看来,一切都将以相同的方式工作(至少 Azure AD,因为似乎没有其他选项可以使用它,除了公司分发)
谁有类似的经历,你能告诉我我应该在技术和协议中使用什么,以便绝对任何用户都可以通过 Okta / Azure AD / Google登录我的应用程序吗?谢谢!
解决方案
您可以使用带有 MSA(个人帐户)支持的 Azure AD OAuth2 流和多租户应用程序,以允许来自任何域和个人帐户的任何用户登录到您的应用程序。或者您可以切换到 Azure AD B2C(也依赖于 OAuth2)来连接不同的身份提供商(本地 Azure B2C、Azure AD、Facebook、谷歌、亚马逊、Github、Linked in、Twitter、泛型等)并允许他们的所有用户登录您的应用程序。
推荐阅读
- javascript - 有没有办法在没有用户输入/干预的情况下验证默认登录并重定向到我在 MVC 中指定的页面?
- pandas - 如何最好地为多个股票构建多个时间序列?
- ruby-on-rails - 在 AWS Cloud9 中运行 Rails 应用程序
- python - 使用 Python 将 CSV 导入 SQL Express
- android-studio - Android studio 任务栏是透明的
- c# - 删除下划线后的所有数字
- go - 无法加载包:C:\Go\src\"application"\db.go:10:2: 标准包“application”中的非标准导入“github.com/boltdb/bolt”
- java - 谷歌recaptcha检测到Selenium java没有得到核心
- python - 如何自己比较(域)many2many 字段的值?
- c++ - 集群仅使用 MPI 运行 7 个或更少的任务