Ore*_*ren 7 .net security oauth oauth-2.0
我是 OAuth(1 和 2)的新手,我正在开发一个移动应用程序的服务器端,该应用程序有一个带有“从 Google 帐户填写详细信息”按钮的表单。我不需要任何远程身份验证\授权。
从这里(清单 2)我了解到服务器应该有一个控制器:
code
,它将引导用户获取一个(在 AuthorizationEndpoint 中,例如:https://accounts.google.com/o/oauth2/auth)。code
当在查询中使用 a 调用时,服务器将向 TokenEndpoint ( https://accounts.google.com/o/oauth2/token ) 发送 HTTP 请求,以将代码转换为访问令牌(使用密钥这是在请求中传递的)。在此阶段,我的服务器应该能够使用访问令牌从https://www.googleapis.com/plus/v1/people/me获取用户的详细信息- 然后将详细信息返回到用户的应用程序,填写其表格。
我(服务器开发人员)是否可以偷懒并将访问令牌返回给用户,而不是其详细信息?即,让用户应用程序向https://www.googleapis.com/plus/v1/people/me发出请求。
将来,这将允许为客户端应用程序提供更多功能,而无需更改服务器上的代码。
谢谢
由于多种原因,您的服务器不应向客户端应用程序公开其访问令牌。
OAuth 协议的重点是向第三方提供安全且有限的访问权限,而无需暴露您自己的凭据(例如标识符、密码等)。你不应该忽视这一点。
令牌被颁发给特定的 OAuth 客户端,在您的情况下它是服务器。共享令牌不会改变这一点。仍然代表您的服务器而不是客户端应用程序访问用户详细信息,如果出现任何问题,您将负责。
访问令牌的寿命应该很短,通常会在几分钟内过期。除非客户端立即获取数据,否则没有任何用处。刷新令牌用作永久授权,但您永远不应该共享它们,除非您故意想要破坏服务器安全。
归档时间: |
|
查看次数: |
3051 次 |
最近记录: |