Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure和单一登录方法_Azure_Single Sign On_Saas - Fatal编程技术网

Azure和单一登录方法

Azure和单一登录方法,azure,single-sign-on,saas,Azure,Single Sign On,Saas,我需要扩展我们的SSO实现,这样当它作为SaaS安装在Azure上时,它也可以覆盖我们的应用程序。我正在浏览文档,但我总是感到困惑。 我试图找到一种方法,让我们的应用程序(服务器是用C编写的)使用Azure检查从客户端发送的用户凭据是否正确。 有人能提供一些网页来解释这个问题吗 干杯。 es如果您对身份验证和Azure AD不熟悉,那么在我看来,您应该首先熟悉OAuth 2.0提供的现代身份验证流程 授权流 提到几个最常见的流程: 客户凭证授予 不需要最终用户授权 客户端执行机器对机器的授权

我需要扩展我们的SSO实现,这样当它作为SaaS安装在Azure上时,它也可以覆盖我们的应用程序。我正在浏览文档,但我总是感到困惑。 我试图找到一种方法,让我们的应用程序(服务器是用C编写的)使用Azure检查从客户端发送的用户凭据是否正确。 有人能提供一些网页来解释这个问题吗

干杯。
es

如果您对身份验证和Azure AD不熟悉,那么在我看来,您应该首先熟悉OAuth 2.0提供的现代身份验证流程

授权流 提到几个最常见的流程:

  • 客户凭证授予
    • 不需要最终用户授权
    • 客户端执行机器对机器的授权。例如,cron作业或计划任务
  • 授权码授予
    • 需要用户授权的Web应用程序
    • 被认为是最安全的选择,因为令牌直接传递到后端
  • 资源所有者密码凭据授予
    • 被认为是一种非常不安全的替代品,仅在没有其他合适的情况下使用
    • 凭据以POST请求的形式发送到授权服务器
  • 隐性补助
    • 主要用于单页应用程序(SPA)
    • 令牌直接发送到客户端浏览器
  • 设备代码
    • 与以前的流量相比,相对较新
    • 适用于用户难以直接与应用程序交互的场景,例如物联网应用程序或智能电视应用程序(想象一下用电视遥控器编写24个字符的密码…)
    • 登录URL和代码被传递给用户,用户使用提供的信息在桌面上登录
    • 正在启动的应用程序保持轮询服务,直到超时或通过身份验证
    • 使用桌面登录后,启动应用程序即被登录
熟悉这些将帮助您识别它们的用例和限制

单点登录 您提到您的应用程序需要SSO,在这种情况下,我建议您熟悉授权代码授予隐式授予流程。这些是在需要用户登录的网站中使用的最常见的流

SSO将在以下条件下工作:

  • 在同一个Azure广告中
  • 在同一浏览器中打开
  • 用户已登录到任一应用程序
    • 身份验证cookie必须存在且可读
  • 同意应用程序(管理员或用户)
进一步阅读 有关如何选择正确的流程以及如何实现这些流程的更多信息,请查看以下页面:

此外,如果你真的对Azure广告认证感到兴奋,那么有一本由Vittorio Bertocci撰写的相当不错的书值得一看:

Vittorio Bertocci是微软的首席项目经理,对这个话题非常了解