代码之家  ›  专栏  ›  技术社区  ›  Jonathan Allen

在没有UI的情况下针对Azure AD验证用户名/密码?

  •  1
  • Jonathan Allen  · 技术社区  · 6 年前

    因为可以说没有“用户在控制盘”,所以我们不能使用显示Azure登录页的普通方法( https://login.microsoftonline.com/ {tenatid})。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Rohit Saigal    6 年前

    1只是让它工作,没有改变的方法(不建议)

    我认为没有任何方法/端点可用于

    您可以在此处阅读如何使用ROPC获取令牌: Resource Owner Password Credentials Grant in Azure AD OAuth


    2建议的方法,需要一些更改(建议)

    这在一开始可能会觉得有点不方便,但从安全的角度来看,这样做是值得的。请注意,这种方法以及第一种方法将满足您的要求,不通过正常登录页以及。

    显示Azure登录页的常规方法 https://login.microsoftonline.com/ {tenatid})。

    正如您提到的,自治进程类似于Windows服务或计划任务,从azuread和oauth2.0的角度来看,您的进程类似于

    OAuth 2.0 Client Credentials Grant with Azure AD

    请访问所有Azure AD应用程序类型和场景的文档,特别是为守护程序应用程序列出的那些类型和场景。 Link

    简而言之,您的流程由Azure AD中的注册应用程序表示,对于您可以使用的凭据部分:

    Sample C# code with Client Secret

    b、 客户机ID+证书(传递一个JWT,您需要创建该JWT,并使用您注册为应用程序凭据的证书进行签名)。 Sample C# code with Certificate