选择一种授权授予方式


选择一种授权授予方式

网站获取访问令牌的机制有两种,分别为隐式授予授权码授予。两种授权授予方式均通过将用户代理(用户浏览器)重定向至Amazon.com来完成登录。

用户完成登录后,如果网站发出隐式授予请求,访问令牌将作为片段嵌入到将用户代理重定向返回客户端网站的URI中。然后,网站将使用脚本从用户代理中获取数据。如果网站提出授权码请求,用户代理将重定向返回到网站,授权码将在URI中作为查询字符串进行传递。接着,网站将在后台向亚马逊作出安全的HTTP调用,从而使用授权码换取访问令牌。 

实现Login with Amazon应用前,必须先选择要使用的授权授予方式。

您的应用适合哪种授权类型?

一般而言,授权类型各有利弊。授权码授予的优势在于比隐式授予更安全。访问令牌请求不涉及用户,而是直接发生在客户端网站之间。授权服务。授权码授予还包含。刷新令牌允许客户端网站可几乎无限期地访问用户个人资料数据。

授权码授予的缺点在于难以实现,且依赖于服务端脚本。授权码授予使用的往返次数也多于隐式授予。

的优点隐式授予的实现方式相对简单,只需借助网页浏览器来接收和存储访问令牌。如果客户端架构不支持服务器端的脚本,隐式授予则是唯一可用来实现Login with Amazon授权服务的授权授予方式。隐式授予的往返次数也少于授权码授予。

隐式授予的缺点在于作出访问令牌请求的是用户浏览器使,因此用户将会暴露给访问令牌。从严格的安全角度来看,用户信息最好处于隐藏状态。此外对于隐式授予,访问令牌过期后,用户必须重新进行验证才能继续访问资源。授权码授予的刷新令牌在获取新的访问令牌时则不会涉及用户。

如果您无法编写服务器端脚本,则隐式授予将是您的唯一选择。如果可以使用服务器端脚本,我们建议选择授权码授予。