.net OAuth2-将访问令牌返回给用户是否安全?

.net OAuth2-将访问令牌返回给用户是否安全?,.net,security,oauth,oauth-2.0,.net,Security,Oauth,Oauth 2.0,我是OAuth(1&2)的新手,我正在开发一个移动应用程序的服务器端,该应用程序有一个带有“从Google帐户填写详细信息”按钮的表单。我不需要任何远程身份验证\授权 从(清单2)中,我了解到服务器应该有一个控制器: 当在查询中没有code的情况下调用时,它将指示用户获取一个(在授权端点中,例如:) 在查询中使用code调用时,服务器将向令牌端点()发送HTTP请求,以将代码转换为访问令牌(使用请求中传递的密钥) 在这个阶段,我的服务器应该能够使用访问令牌从中获取用户的详细信息,然后将详细信

我是OAuth(1&2)的新手,我正在开发一个移动应用程序的服务器端,该应用程序有一个带有“从Google帐户填写详细信息”按钮的表单。我不需要任何远程身份验证\授权

从(清单2)中,我了解到服务器应该有一个控制器:

  • 当在查询中没有
    code
    的情况下调用时,它将指示用户获取一个(在授权端点中,例如:)
  • 在查询中使用
    code
    调用时,服务器将向令牌端点()发送HTTP请求,以将代码转换为访问令牌(使用请求中传递的密钥)
在这个阶段,我的服务器应该能够使用访问令牌从中获取用户的详细信息,然后将详细信息返回到用户的应用程序,以填写表单

是否允许我(服务器开发人员)懒惰并将访问令牌返回给用户,而不是其详细信息?i、 例如,让用户应用程序向发出请求

这将允许,在未来,在不更改我的服务器上的代码的情况下,为客户端应用程序提供更多的功能


谢谢

出于以下几个原因,您的服务器不应该将其访问令牌公开给客户端应用程序

  • OAuth协议的全部要点是向第三方提供安全和有限的访问权限,而不公开您自己的凭据(例如标识符、密码等)。你不应该忽视这一点

  • 令牌被发布到特定的OAuth客户机,在您的例子中,它是服务器。共享令牌不会改变这一点。用户详细信息仍然是代表服务器而不是客户端应用访问的,如果出现任何问题,您将负责

  • 访问令牌应该是短期的,它通常在几分钟内过期。除非客户机立即获取数据,否则没有任何用处。刷新令牌被用作永久授权,但您永远不应该共享它们,除非您有意破坏服务器安全性


  • 您希望实现哪个oauth2流?隐式流,应用程序直接与身份验证服务器聊天,或代码授予,您的服务器代表应用程序行事?我不需要我的服务器代表应用程序行事。我是oauth2的新手-我将搜索隐式流。