【问题标题】:SaaS product with on-prem AD integration具有本地 AD 集成的 SaaS 产品
【发布时间】:2020-08-26 10:06:54
【问题描述】:

我有一个 SaaS 产品,它有自己的基于云的身份验证,并且托管在 Azure 中。这适用于我的大多数客户,但假设客户拥有自己的本地 AD - 我的 SaaS 产品(云托管,客户网络外部)是否可以将我自己的身份验证换成 AD?为此我可以使用哪些技术/API?

更多背景

这是一个带有 .Net 后端(Azure 中的 .Net 核心 API)的 vue 应用(客户端)。

我目前正在使用 okta,我从登录表单传递 okta 数据,它返回一个令牌。

如果我可以直接与 okta 进行 AD 交换,并调用客户端的 AD 服务器并接收令牌(在成功验证时),然后像使用 okta 一样将该令牌作为每个请求的一部分传递,那将是理想的。

我的尝试

我知道 Okta 本身可以选择使用 AD 进行单点登录,但如果 Okta 仅用作与客户的 AD 服务器接口的一种方式,我认为不需要它,我想而是“直接去那里”。

【问题讨论】:

  • 客户端是否也将其本地 AD 同步到 Azure AD 还是仅在本地?
  • 从 .NET 对 AD 进行身份验证是 fairly straightforward。是的,如果你想“直奔那里”,你的应用就必须改变,但你似乎愿意接受这个打击。
  • ...当然,要“直奔那里”,您需要在 Azure 上部署的应用程序与本地 AD 之间建立连接。那里有很多选择。 Hybrid 连接或site-to-site connectivity with Functions 是可能的。尽管有相反的文档免责声明,但如果您使用基于 TCP 的 LDAP,则混合连接将起作用,这意味着避免在 AD 中对根 DSE 进行查询。

标签: azure authentication active-directory okta


【解决方案1】:

Okta 不需要进行 Azure AD 身份验证。我已经在 Angular 和 Python 中使用 MSAL 成功完成了 azure ad 单点登录身份验证。

转到您的portal.azure.com -> Azure Active Directory -> APP Registration -> Select you app -> Quick Start -> Select programming language -> Click download the source code.

要了解代码,请使用此链接https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-angular

正如你所说。您已经使用了本地代码,请使用相同的代码进行身份验证,下面的教程将解释如何进行身份验证

https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-javascript-spa

【讨论】:

  • 他们希望针对 本地 Active Directory 进行身份验证,而不是 Azure Active Directory。
  • 本地也使用相同的天蓝色,所以代码不会改变配置。 - 更新了代码
猜你喜欢
  • 1970-01-01
  • 2023-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 2011-06-07
  • 1970-01-01
  • 2016-05-24
相关资源
最近更新 更多