在OAuth2授权授权流程中,如何模拟用户从浏览器单击“授权”?

时间:2016-08-12 23:35:02

标签: ruby oauth-2.0

因此,如果我正处于OAuth2授权许可流程中,我会调用诸如“http://localhost:3000/oauth/authorize?response_type=code&client_id=2a514a754809f926b2c0fe4bb2f5f29adfa2684331b433f468f8fa4b8dbb20d5&redirect_uri=http%3A%2F%2Flocalhost%3A3001%2Fauth%2Ftodo%2Fcallback”之类的URL,这通常会将用户发送到如下所示的页面,要求他们“授权”,有没有办法跳过这一步,只是得到令牌或模拟用户通过在实际编程代码中使用某种类型的GET调用按下授权?

基本上我想避免用户点击“授权”并假设他们授权该应用。

enter image description here

1 个答案:

答案 0 :(得分:0)

取决于。

  

授权服务器验证请求以确保全部      必需参数存在且有效。如果请求有效,      授权服务器对资源所有者进行身份验证并获取      授权决定(通过询问资源所有者或通过      通过其他方式建立批准)。

https://tools.ietf.org/html/rfc6749#section-4.1.1

如果您可以控制授权服务器的行为,则可以跳过此步骤。但是,此步骤是为了确保您的用户知道发生了什么,并且客户端访问其资源是正常的,因此请在执行此操作之前了解其含义。

如果您无法控制授权服务器的行为(例如,您无法更改源代码),则答案为否。

根据您的使用情况,client credentials grant可能更适合您的需求。