java oauth2.0 实例_Oauth2.0 用Spring-security-oauth2 非常简单

本文介绍了如何使用OAuth2.0授权框架,并通过Spring-security-oauth2在Java中实现授权流程。内容包括授权码模式、隐含模式和基于密码的授权,详细阐述了授权请求、令牌获取以及错误处理机制。
摘要由CSDN通过智能技术生成

授权密码不被使用。授权方式:的OAuth

2的第一步骤是从用户获得授权。对于基于浏览器或移动应用程序,这通常是由显示给用户提供的服务的接口来实现的。OAuth的2提供了不同的用例数批类型。定义的补助类型有:一个Web服务器上运行的应用程序授权码隐含的基于浏览器的或移动应用程序密码与用户名和密码登录对于应用程序访问客户端凭据Web服务器应用程序Web应用程序都写在一个服务器端语言和运行服务器的应用程序的源代码是不提供给公众。授权请求:http://localhost:8080/oauth2/oauth/authorize?response_type=code&client_id=easylocate&scope=read&redirect_uri=http://localhost:8080/web之后接受访问。该页面将被重定向到重定向URI的授权码。http://localhost:8080/web/?code=t7ol7D现在是时候来交换授权码来获得访问令牌。http://localhost:8080/oauth2/oauth/token?grant_type=authorization_code&code=t7ol7D&redirect_uri=http://localhost:8080/web&client_id=easylocate&client_secret=secret与访问令牌的OAuth的服务器回复{“

ACCESS_TOKEN ”:“ 372c3458 - 4067 - 4b0b - 8b77 - 7930f660d990

”“

token_type ” : “bearer” ,“

refresh_token ” : “ ce23c924 - 3f28 - 456C - A112 - b5d02162f10c

”“

expires_in ” : 37364 ,“scope” :

“read”}万一错了授权码,的Oauth服务器回复的错误。{“error” :

“ invalid_grant ” ,“ error_description ” : “无效的授权码: t7olD

”}安全性:需要注意的是该服务应要求应用程序进行预注册的重定向的URI

。否则将有一个错配。基于浏览器的应用程序和移动应用程序:基于浏览器的应用程序在浏览器从网页加载的源代码之后运行完全。由于整个源代码是提供给浏览器,他们不能保持其客户端秘密的保密性,所以这个秘密是不是在这种情况下使用。授权请求:http://localhost:8080/oauth2/oauth/authorize?response_type=token&client_id=easylocate&redirect_uri=http://localhost:8080/web&scope=read之后接受访问。该页面将被重定向到重定向URI与令牌。http://localhost:8080/web/#access_token=372c3458-4067-4b0b-8b77-7930f660d990&token_type=bearer&expires_in=37026就是这样,没有其他的步骤!在这一点上,一些JavaScript代码可以(在#后的部分)拉出访问令牌的片段,并开始进行API请求。如果出现错误,你反而会收到一条错误的URI片段,如:http://localhost:8080/web/#error=invalid_scope&error_description=Invalid+scope:+rea&scope=read+write基于密码:OAuth的2还提供了可用于令牌直接交换一个用户名和密码访问密码交付式。因为这显然需要的应用程序来收集用户的密码,它应该只用于由服务自身创建的应用程序。例如,原生Twitter的应用程序可以使用这笔款项型移动或桌面应用程序登录。使用密码交付式,只是让类似下面的POST请求。我现在用的卷曲工具来演示POST请求。您可以使用任何其余客户端。卷曲-I

-X POST -D “的client_id = easylocate & grant_type

=密码和用户名admin和密码=管理员& CLIENT_SECRET =秘密”

http://localhost:8080/oauth2/oauth/token服务器将返回与令牌{“

ACCESS_TOKEN ”:“ 4e56e9ec - 2f8e - 46b4 - 88b1 - 5d06847909ad

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值