我正在使用以下内容构建 OAuth2 授权服务器
通过端点调用获取授权码,无需重定向
所以我已经按照本指南配置了 Spring 授权服务器。 问题是,为了获取授权代码,我需要使用浏览器,转到某个 URL 并在那里输入我的登录名和密码,然后我将代码作为重定向 URL 的一部分获取。
http://127.0.0.1:8080/authorized?code=3itgI0EhMS_gSFAEJqugIWDOMe1GPCgsWe47TTk40MxMYqq4qE3GLRSL2SqWeSUuhxPrZZgYnNXkCrbt96ycq6ln3K4K34u06VuuL2xia8N3w4xM3k0MCNeYqpBUOXAa
我想跳过 UI 部分,并以某种方式使用 Postman 或 Java HTTP 客户端类之类的东西来获取此代码。
我该怎么办?
如果您想使用授权码授予
,您必须使用浏览器应该是用于获取授权码的重定向URI。
+----------+
| Resource |
| Owner |
| |
+----------+
^
|
(B)
+----|-----+ Client Identifier +---------------+
| -+----(A)-- & Redirection URI ---->| |
| User- | | Authorization |
| Agent -+----(B)-- User authenticates --->| Server |
| | | |
| -+----(C)-- Authorization Code ---<| |
+-|----|---+ +---------------+
| | ^ v
(A) (C) | |
| | | |
^ v | |
+---------+ | |
| |>---(D)-- Authorization Code ---------' |
| Client | & Redirection URI |
| | |
| |<---(E)----- Access Token -------------------'
+---------+ (w/ Optional Refresh Token)
如果您不想使用浏览器,可以使用客户端凭据流程。 但它是应用程序令牌而不是用户令牌。
+---------+ +---------------+
| | | |
| |>--(A)- Client Authentication --->| Authorization |
| Client | | Server |
| |<--(B)---- Access Token ---------<| |
| | | |
+---------+ +---------------+
这是 Postman
来自 Spotify 的客户凭证示例