Oauth支持的5类 grant_type 及说明 authorization_code — 授权码模式(即先登录获取code,再获取token) password — 密码模式(将用户名,密码传

Oauth支持的5类 grant_type 及说明


authorization_code — 授权码模式(即先登录获取code,再获取token)


password — 密码模式(将用户名,密码传过去,直接获取token)


client_credentials — 客户端模式(无用户,用户向客户端注册,然后客户端以自己的名义向’服务端’获取资源)


implicit — 简化模式(在redirect_uri 的Hash传递token; Auth客户端运行在浏览器中,如JS,Flash)


refresh_token — 刷新access_token


若需要对各类grant_type测试, 请访问 http://git.oschina.net/mkk/spring-oauth-client 项目


from:http://andaily.com/blog/?p=103
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
使用Spring Security OAuth2进行code换取access_token的步骤如下: 1.客户端向认证服务器发出授权请求,包括客户端ID、访问范围、重定向URI和response_type=code参数。 2.认证服务器对用户进行认证,如果用户认证通过,认证服务器将生成授权(code)。 3.认证服务器将授权(code)发送给客户端重定向URI。 4.客户端收到授权(code)后,使用code和client_secret向认证服务器请求access_token。 5.认证服务器验证code和client_secret,如果验证通过,将生成access_token。 6.客户端收到access_token后,即可使用该token访问受保护的资源。 示例代如下: ``` RestTemplate restTemplate = new RestTemplate(); MultiValueMap<String, String> params= new LinkedMultiValueMap<>(); params.add("grant_type", "authorization_code"); params.add("code", code); params.add("redirect_uri", redirectUri); params.add("client_id", clientId); params.add("client_secret", clientSecret); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers); ResponseEntity<String> responseEntity = restTemplate.postForEntity(tokenUrl, requestEntity, String.class); ``` 其code授权,redirectUri是客户端重定向URI,clientId和clientSecret是客户端ID和密钥,tokenUrl是认证服务器的地址。授权服务器将返回一个JSON格式的字符串,其包含access_token等信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值