首页 > 编程知识 正文

oauth2认证的4种模式,授权服务器架构

时间:2023-05-06 10:36:02 阅读:117192 作者:2287

uaa许可证

在本地计算机上快速运行功能强大的OAuth2服务器的方法是使用出色的Cloud Foundry UAA项目。 UAA用作Cloud Foundry部署的基础OAUth2许可服务器,可以大规模扩展,但仍然很小,可以通过适当的硬件启动。

在两篇文章中介绍UAA的使用方法。 本文介绍如何运行本地UAA服务器,并使用OAuth2 Authorization_code流中的参与者(客户端和用户)进行输入。 下一篇文章将介绍如何使用此授权服务器。 使用示例客户端APP应用程序,确保资源安全。

启动UAA UAA项目的存储库位于https://github.com/cloud foundry/uaa

项目下载很简单。 你只需要克隆这个仓库。

如果存在git clone https://github.com/cloud foundry/uaa本地JDK,请使用以下命令启动:

./gradlew run此版本的UAA使用内存数据库,因此重新启动APP应用程序时,生成的测试数据将会丢失。

通过附带的名为UAAc的CLI APP应用程序,可以在这里找到输入和与uaa交互的一个很好的方法。 如果下载了UAAc cli,并且uaa在缺省端口8080上启动,则首先尝试将uaac指向uaa APP应用程序。

UAC target http://localhost :8080/uaa,使用admin/adminsecret (管理员/管理员安全)之一登录:

uactokenclientgetadmin-sadminsecret现在可由客户端登录并通过以下方式引用令牌:

UAAc context它显示了由uaa颁发的令牌的详细信息,如下所示:

[3] * [ http://本地主机:8080/uaa ] [2] * [管理员] client _ id : admin access _ token : eyjhbgcioijiuzi1nij9. eyjqdgkioijkotlimjg1MC1izdq1ltrlotctodiyzs 03 nge2mm uw N2 y0 yzuill zcisimnsawvudhmuc2vjc mv 0ii wi y2 xpzw 50cy 53 CML0zsisinvhys5Hz G1 pbiisimnsawvudhmuywrtaw4ilcjzy2ltlndyaxrly5Hz G1 pbisimnsawvudhmuywraw udhmucmvhzcisimnsawvudhmuc2vjc mv 0ii wi y2 xpzw 50cy 53 CML0zsisinvhys5Hz G1 pbiiisimnsawvudhmuywrtaw4ilcjzy2ltlndyaxrliwiwz d F9 pzci6ii6imfk lcjhenaioijhzg1pbiisimdyyw 50 x3r5 cguioijbgllbnrfy3jlzgvudglhbhmilcjyzxzfc2lnijoiztc4yjaymttterfy3jlzgvudglhbhmilcjyzxzfc2loi ZTC 4 NZ a4 mjk3niwiaxnzijoiahr0CD ovl2XV y2 fsag 9z DDO4MDG wl 3v hy S9 vyxv 0a c 90 B2 tlbiiisinppzci6invhysisimf1zci6wyjhzg1pbisimnsaaaaaaaaci619.B- b e8dvu-Fv-3qq1ow token _ type : bearer expires _ in :43199 scope : clients.in 3360 min clients.admin scim.write scim

uaac令牌解码必须显示令牌的解码格式。

jti : d99 b 2850-bd45-4e 97-822 e-74a 62e 07 F4 c5sub : admin authorities 3360 clients.read clients.secretclients.write ies ts.secretclients.write uaa.admin clients.admin scim.write scim.read client 3360管理员grant _ type : client _ credentials rev _ SIG 3360 e78 b 0213 IAT 33601487039776 exp :1487082976 ISS 3360http://local all oll 在今后的文章中使用。

uacclientaddclient1-- name client1--scope resource.read,resource.write--auto approve '.* '- sclient1

创建系统的资源的所有者或用户:

uacuseradduser1--puser1--emails user1@ user1.com,为此用户分配一个resource.read范围。

uacgroupaddresource.readuaacmemberaddresource.read user 1中的测试过程具有客户端和资源所有者,用于快速运行authorization_code过程。 UAC提供了有用的命令行选项

当uactokenauthcodeget-client1--sclient1--no-cf调用上述命令时,将打开一个浏览器窗口,提示您输入凭据。

如果使用以前创建的user1/user1用户登录,则必须在命令行上以指示已成功获取令牌的消息进行响应。 可以使用以下命令再次检测令牌:

uaac context输出,显示登录用户的详细信息!

jti : c8 ddfdfc-9317-4 F16-B3 a9-808 EFA 76684 bn once :43 c 8f 7d 6264 FB 347 ede 40 C1 b7b 44 AE sub :7 FDD9a 7e-5b 92-42e7- 42e 7 0客户端1a ZP :客户端1 grant _ type : authorization _ code user _ id 3360 FDD9a 777 origin : uaa user _ name 3: user1email : 7040497 rev _ SIG 3360 c 107 F5 c0IAT 3360148860 97 ISS :3358 localhost :8080/uaa/oauth/token zid : uaa aud 3: resource cle 结束了添加OAuth2流中的几个角色(客户端和用户)的旋风之旅,我还没有介绍OAuth2进程本身,但OAuth2的数字操作简档是有关进程的一个很好的入门。

在本文之后,我们将发表一篇文章,介绍如何使用此基础架构保护示例资源,并演示使用Spring Security和Spring Boot的过程。

来自3:https://www.Java code geeks.com/2017/02/bootstrapping-oauth2- authorization-server-using-uaa.html的翻译

uaa许可证

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。