oauth2.0理解+配合阿里语音aligenie里面设置

由于项目要用到授权认证,所以需要弄一个认证服务器出来,网上百度了一下原理,可以参考一下这位大神的文章。

http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

我这里用到的是授权码模式,我整个代码的流程:如下图

 

其次是阿里语音里面的

(A)用户访问客户端,后者将前者导向认证服务器。这里的地址是如下,这里会判断是否登录了,登录了返回choose页面,否则返回登录

页面(response_type,client_id必要 参数),这里写一个AuthServlet接收这个请求,写一个方法auth(),判断是否登录过了,登录了返回choose页面,

否则返回登录页面.

测试请求地址:

 

http://localhost:8080/oauth/auth?redirect_uri=https%253A%252F%252Fopen.bot.tmall.com%252Foauth%252Fcallback%253FskillId%253D1178%2526token%253DMjc4MTkwMjA2MUFGRUhJTkZEVlE%253D&client_id=ali_skill&response_type=code&state=0.34947424872323474

 ( B ) 没有登录的需要在登录页面登录再授权,登录了就点继续就能授权了.这里需要在LoginServlet里面写一个login()方法;

 

(C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个 授权码(code只能用一次,还有时间限制,用完删了)。(LoginServlet.loginBack)
测试请求地址:(这里的code需要修改为你的code);
http://localhost:8080/oauth/callback?skillId=1178&token=Mjc4MTkwMjA2MUFGRUhJTkZEVlE=&code=c5065380979a4af8bc440e9d271e3a2f&state=0.6564189717686773
(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。(TokenServlet)
测试地址:(这里需要填写你的client_id,client_id,code等信息)
http://localhost:8080/oauth/token?grant_type=authorization_code&client_id=XXX&client_secret=XXXX&code=090ff15fce5141e8832e4246fa426442&redirect_uri=https%3A%2F%2Fopen.bot.tmall.com%2Foauth%2Fcallback
(E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(refresh token)。
( F ) 这里的一些配置需要在阿里云里面配置,你才能用阿里云跟你的授权认证配合使用.

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值