使用Azure Active Directory保护微服务
1. OAuth 2.0 基础
1.1 日常使用体验
你可能不清楚OAuth 2.0是什么,但你肯定在很多网站上使用过它。如今,许多网站允许你使用Facebook、Twitter和Google账户的用户名和密码登录。以https://stackoverflow.com/登录页面为例,有一个登录按钮显示你可以使用Google账户登录。当你点击Google按钮时,它会带你到Google的登录页面,并显示一些之前提到的权限。你输入Google用户名和密码,然后点击“允许”按钮,授予你喜欢的网站权限。接着,Google会将你重定向到Stack Overflow,你就可以使用相应的权限登录Stack Overflow了。这只是OAuth 2.0和OpenID Connect的最终用户体验。
1.2 授权处理范围
OAuth 2.0处理Web、原生移动应用和所有无头服务器应用(在我们的上下文中,这些不过是微服务实例)的授权。你可能想知道为什么我们先讨论授权而不是认证。原因是OAuth 2.0是一个委托授权框架,这意味着要完成授权流程,它依赖于一种认证机制。
1.3 相关术语
角色 | 描述 |
---|---|
资源(Resource) | 防止意外访问和使用的实体,在我们的例子中是微服务。 |
资源所有者(Resource owne |