我已经阅读了很多关于这两种技术的内容,我觉得我对它们有了不错的理解。但是,有一件重要的事情我似乎很难理解。 OAuth用于授权,而OpenID Connect用于身份验证。但是,在OAf的rfc(https://tools.ietf.org/html/rfc6749#section-4.1)中,它说我们有一个步骤来验证资源所有者(在授权代码中授予它的步骤(B))。所以在我看来,我们已经在OAuth中进行了身份验证?我错过了什么?我一直想知道引用的身份验证是否未定义,因此OpenID Connect只是一个"标准"我们可以插在这里吗?
我知道OpenID Connect是您在使用Facebook登录时注册服务时所使用的。是否正确理解,在这种情况下,服务将是依赖方(OIDC术语)/客户端(OAuth lingo),facebook将是身份提供者/授权服务器,facebook也将是UserInfo端点/资源服务器?我特别不确定facebook是否扮演这两个角色。在规范中,似乎它们/可以由不同的演员扮演。在查看关于OAuth的这种情况时,客户端有权访问的资源将是有关资源所有者的信息,以便它能够创建一个配置文件"没有用户实际上必须制作一个。这是否正确理解?
编辑:身份提供者和授权服务器是否一样?某人是否有图表显示OAuth和OIDC的所有角色以及他们如何互动?
答案 0 :(得分:2)
资源所有者密码凭据授权类型是OAuth 2.0中的一种特殊情况,它只是用于向后兼容和迁移目的的反OAuth模式。 OAuth 2.0一般不对用户进行身份验证,并将其留给其他协议,可能是扩展OAuth 2.0的协议,如OpenID Connect。有关这方面的好文章可以在这里找到:http://oauth.net/articles/authentication/