OAuth2
谈话中涉及多方参与。从文章here我是否需要使用OAuth 2访问令牌来保护我的API端点(资源)?
想想看,我有一个为restaurants
有数据,以及具有与它的API的应用程序考虑 如下图。我们称之为restaurant
的API。让我们分配本例中
User - our chefs, who have some recipes in restaurant
Application - Web client written in HTML5, JS, CSS that our Users use to interact with APIs
OAuth Endpoint - Google (who acts as Authorization Server)
API - My application API keeping all data for chefs
的背景下一些作用,每一方
为Implicit
工作流(按照上面的链接图)规定的Application
得到access token
,然后Application
(浏览器)调用API
(我申请厨师食谱)并获取数据。
问题
我不应该
secure
我的应用程序的端点或者说只相信accesssTokens
?是的,信托建立在Application
和OAuth Endpoint
(Google)之间,但是没有trust
开发API
和Application
确认accessToken
与OAuth Endpoint
(Google)的有效性?如果我要保护我的应用程序API终点,我将有一个
/login
终点为我APIs
在我的应用程序接受accessTokens
,验证,并创建一个基于JWT
头,为客户作进一步的沟通与保护资源,如/recipes
使用。
期待您的想法在这里。
在此先感谢
感谢您的回复。我相信而不是'accssTokens',最好是获得'id_token',然后使用'Google Java客户端库'(我的服务器是用'Java'编写的)在'/ login'端点上验证它,网络请求(尽管附加依赖)。请参阅https://developers.google.com/identity/sign-in/web/backend-auth – daydreamer
@daydreamer有意义,如果您可以在没有任何网络请求的情况下在本地验证它。对此并不熟悉。只要确保遵循所有返回的字段的所有验证步骤 – YSK
当然,听起来不错。谢谢! – daydreamer