这个问题已经被问了20次,我读了很多关于它...但我需要确认一些事情。我只是想知道我是否理解得很好。
第一部分是关于定义:
标识:要识别客户,请确切了解客户。
授权:允许访问某些资源。这里没有身份。
身份验证:结合身份识别和授权。
我的第一个问题是:推理好不好?
然后,我的第二部分是关于OAuth& OpenId:
一开始,对于基本实现,OpenId仅用于标识部分,OAuth用于授权部分。
但现在,升级后,两者都倾向于认证部分。
例如,OAuth基本上只允许一个应用程序通过网络访问另一个应用程序而无需用户的密码或关键信息。它只执行一次并生成一个令牌,可以撤销或刷新,需要为每个请求提供。
现在,通过OAuth的基本实现,如果S1允许S2获取用户信息,我可以访问这些URL: path_to_s1 / api / users / foo - path_to_s1 / api /用户/栏我将获得用户foo的信息(例如电子邮件 - 联系人......),当我将在第一个网址和用户栏时,我将在第二个网址上。我这里只有授权而不是识别。为了识别,我可以在OAuth的顶部实现API密钥或OpenId Connect。
我的第二个问题是:推理好不好?
提前谢谢你:)
答案 0 :(得分:0)
如果S1基于令牌给出S2信息,则S1可以存储关于该令牌的信息 - 例如,用户的身份。因此,使用oauth进行授权并不意味着您无法获得有关用户的身份信息。