![]() |
1
1
正如您从这张有用的图片中看到的,从关于 OpenId/OAuth 2.0 architecture from article by Takahiko Kawasaki @ Medium
身份验证机制被明确声明为超出范围是有原因的,因为身份验证及其要求是通过完全独立的方式实现的。完全可以通过您选择的任何类型的身份验证机制来完成,唯一的要求是身份验证实现对OpenID/OAuth请求的正确响应。 假设您想让一个页面针对您的activedirectory进行身份验证。您所要做的就是用适当的OAuth和OpenID插件扩展现有的activedirectory系统(假设有这样的插件),配置它们,在这些协议可用于身份验证和授权之后,您可以将您的广告指定为OpenID/OAuth提供程序给任何准备接受它们的人。
将授权信息存储在何处的问题仍然很模糊,但通常将其存储在使用的身份验证机制附近是有意义的,因为您正在使用此身份验证机制来授予授权,因此使用此特定身份验证跟踪您已授权的内容是有意义的。 注意,OAuth允许经过身份验证的用户处于驱动位置,这通常是公共webapps的情况。 在非公共资源的情况下,通常情况下,资源持有者只订阅OpenID或其他联合身份规定,但他们自己根据用户来自何处和/或在特定身份方案中是谁来决定用户可以访问哪些资源。 一个例子是大学A图书馆系统,它可能允许大学B的学生登录,基于B的联邦身份认证服务器,但不给予他们对图书馆的相同权利,因为它自己的学生由universisty A认证系统认证。 |