我现在正在阅读oauth2,并试图了解其目的。从我阅读的所有资源中,似乎oauth2仅在具有某些用户和应用程序的webapp(比如游戏应用程序)想要访问用户的Facebook或Google数据(某些类型的数据,如姓名或电子邮件,等等)。这部分对我来说很清楚。但是,我不清楚的事情如下:
抱歉天真的问题,因为我最近只读过oauth。
要使用OAuth2进行身份验证,您需要将其与OpenID Connect(OIDC)一起使用,因为OAuth2-OIDC的最终结果包含一个id_token,其中aud(听众)字段标识了访问密钥的用户(https://openid.net/specs/openid-connect-core-1_0.html#IDToken),这会阻止访问密钥可以在不需要的地方重用。通过易于理解的图表的完整解释如下:https://www.slideshare.net/KhorSoonHin/the-many-flavors-of-oauth/36?src=clipshare
对于使用OAuth2进行登录的安全意识方式,另一个非常简单但可能令人不安的是使用资源所有者密码凭据,其中您的网站充当用户和OAuth2提供商(Facebook)之间的中间人。
如果您没有时间深入了解OAuth2,那么对所有OAuth2流程进行这种并排比较可能会有所帮助。
这是https://blog.oauth.io/introduction-oauth2-flow-diagrams/的礼貌