我有一个后台运行Django 1.7和前端分别与Bootstrap开发。前端通过我想用OAuth2保护的REST与后端对话。
问题是:我应该使用哪种赠与类型?我信任前端的工作人员,但这并不意味着我信任Javascript :-)我无法决定是选择隐式授予还是基于资源所有者密码。
有经验的建议吗?
发布于 2014-12-19 23:18:05
特别是在使用与前端不同的领域或服务器的API时,通常最好使用类似于OAuth 2的web应用程序流,这通常称为隐性赠与,并使用grant_type of token。
这样,您就不必担心通过网络发送凭据,就像您需要通过资源所有者密码凭据授予发送凭据一样。按照同样的思路,您也不必处理隐藏授权代码授予私钥的问题。
使用隐式授予,只能将OAuth令牌存储在本地机器上。这应该是更好的,因为如果令牌成为公共的或者其他什么迫使它失效,那么令牌应该能够被快速地撤销。当发出授权请求时,用户应该登录到API服务器上,但是大多数OAuth提供程序都支持可以使用的自定义登录页面。
使用密码凭据授予,用户名和密码都必须存储在本地计算机上,这需要您额外地保护它们。如果需要的话,它们也很难撤销。
https://stackoverflow.com/questions/27571310
复制相似问题