请选择 进入手机版 | 继续访问电脑版

设为首页 收藏本站
思科社区 关注
思科社区

搜索
热搜: 邮件服务器
查看: 260|回复: 0

【原创】如何为多个Web API提供授权方法

[复制链接]
发表于 2021-3-26 13:06:31 | 显示全部楼层 |阅读模式

引言:在本文中,我们和您讨论了如何在使用Azure活动目录的同时,为AngularSPA中的多个Web API添加授权的方法。
Azure活动目录(Active DirectoryAzure AD)是一种业界比较流行的企业级身份认证服务。如今,许多组织都在使用该服务,来启用应用程序的单点登录(SSO),并保护其提供的Web API。其中,基于OpenId ConnectOIDC)身份验证的Microsoft Identity Platform 2.0是针对OAuth 2.0授权流程的最新改进版本。
如果您的应用程序使用到了Azure AD的如下功能,那么本文正好向您介绍如何为多个Web API提供授权的方法:
file:///C:/Users/l41/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
指定user_as_access的范围
2. 注意:由于在先前的调用中,我们的浏览器已经设置好了身份验证的cookie,因此这一步将不再执行用户的身份验证。
3. Azure AD生成另一个具有访问权限的访问令牌,用以调用Web API。该令牌将被用于每一个Web API
4. Azure AD重定向的请求中,我们将基于Angular代码,获取对应的访问令牌。通过调用自定义的API,我们将此令牌的授权标头(Authorization header)设置为Bearer类型的令牌。
5. Web API验证来自Azure AD的令牌,如果验证成功,则返回正常的响应信息;如果失败,则告知有关错误的信息。
刷新访问令牌
通常情况下,访问令牌的有效期是短暂的。我们可以将令牌的过期时间配置为一个小时或更短。那么在令牌到期之前,客户端应用程序应当从Azure AD处请求新的访问令牌。而且,该过程应当在没有用户干预的情况,由后台自动完成。因此,我们可以在客户端应用程序中采用隐藏的iframe方法。
实际上,这对于用于调用那些自定义Web API的访问令牌来说(而不是本示例前面提到的Graph API)显然是必需的。
总结
上文提到的Azure AD充当了基于云端身份认证服务的角色,您完全可以将自己的应用部署到其他的云服务、或本地数据中心中,以实现个性化的身份验证与授权。当然,在开始编写Angular应用程序代码之前,您也可以使用Postman客户端(译者注:一款强大的网页调试和接口测试工具)来测试和验证Azure AD的配置、以及各种Web API
总的说来,通过上述详细的设计方法和实现步骤,我们演示了Angular客户端应用程序如何从不同的Web API处获取OAuth 2类型授权的过程。希望对您有所帮助。

【原标题】AuthorizationApproach for Multiple Web API Providers (作者: Satyen Mishra & Sachin Kulkarni )
原文链接:https://dzone.com/articles/azure-ad-authn-amp-authz-for-your-application  


  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
平均得分0 (0 评价)
您需要登录后才可以回帖 思科 CCO 登录 | 思科 CCO 注册   

本版积分规则

Archiver | 思科社区  

GMT+8, 2021-4-13 15:17 , Processed in 0.077996 second(s), 30 queries .

京ICP备11014401号-17

© 2020 思科系统.版权所有 重要声明 | 保密声明 | 隐私权政策 | 商标 |

快速回复 返回顶部 返回列表