手机可做兼职的网站,app网站建设可行性分析,网站开头flash怎么做,凡客之家推广平台uaa 授权 快速获得强大的OAuth2服务器在本地计算机上运行的方法是使用出色的Cloud Foundry UAA项目。 UAA用作Cloud Foundry部署中的基础OAUth2授权服务器#xff0c;可以大规模扩展#xff0c;但仍然很小#xff0c;可以在适度的硬件上启动。 我将在两篇文章中介绍如何使用… uaa 授权 快速获得强大的OAuth2服务器在本地计算机上运行的方法是使用出色的Cloud Foundry UAA项目。 UAA用作Cloud Foundry部署中的基础OAUth2授权服务器可以大规模扩展但仍然很小可以在适度的硬件上启动。 我将在两篇文章中介绍如何使用UAA。 在本文中我将介绍如何运行本地UAA服务器并使用OAuth2 Authorization_code流中涉及的一些参与者客户端和用户来填充它在后续文章中我将展示如何使用此Authorization服务器。使用示例客户端应用程序并确保资源安全。 启动UAA UAA项目的存储库位于https://github.com/cloudfoundry/uaa 下载项目很简单只需克隆此仓库即可 git clone https://github.com/cloudfoundry/uaa 如果您有本地JDK请使用以下命令启动它 ./gradlew run 此版本的UAA使用内存数据库因此在重新启动应用程序时生成的测试数据将丢失。 填充一些数据 与UAA交互的一种很棒的方式是其随附的名为uaac的CLI应用程序可从此处获得 。 假设您已经下载了uaac cli并且UAA在其默认端口8080上启动那么让我们首先将uaac指向uaa应用程序 uaac target http://localhost:8080/uaa 并使用罐装客户端凭据之一admin / adminsecret登录 uaac token client get admin -s adminsecret 现在客户端已登录可以使用以下方式浏览令牌 uaac context 这将显示UAA发行的令牌的详细信息如下所示 [3]*[http://localhost:8080/uaa][2]*[admin]client_id: adminaccess_token: eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJkOTliMjg1MC1iZDQ1LTRlOTctODIyZS03NGE2MmUwN2Y0YzUiLCJzdWIiOiJhZG1pbiIsImF1dGhvcml0aWVzIjpbImNsaWVudHMucmVhZCIsImNsaWVudHMuc2VjcmV0IiwiY2xpZW50cy53cml0ZSIsInVhYS5hZG1pbiIsImNsaWVudHMuYWRtaW4iLCJzY2ltLndyaXRlIiwic2NpbS5yZWFkIl0sInNjb3BlIjpbImNsaWVudHMucmVhZCIsImNsaWVudHMuc2VjcmV0IiwiY2xpZW50cy53cml0ZSIsInVhYS5hZG1pbiIsImNsaWVudHMuYWRtaW4iLCJzY2ltLndyaXRlIiwic2NpbS5yZWFkIl0sImNsaWVudF9pZCI6ImFkbWluIiwiY2lkIjoiYWRtaW4iLCJhenAiOiJhZG1pbiIsImdyYW50X3R5cGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJyZXZfc2lnIjoiZTc4YjAyMTMiLCJpYXQiOjE0ODcwMzk3NzYsImV4cCI6MTQ4NzA4Mjk3NiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo4MDgwL3VhYS9vYXV0aC90b2tlbiIsInppZCI6InVhYSIsImF1ZCI6WyJhZG1pbiIsImNsaWVudHMiLCJ1YWEiLCJzY2ltIl19.B-RmeIvYttxJOMr_CX1Jsinsr6G_e8dVU-Fv-3Qq1owtoken_type: bearerexpires_in: 43199scope: clients.read clients.secret clients.write uaa.admin clients.admin scim.write scim.readjti: d99b2850-bd45-4e97-822e-74a62e07f4c5 要查看更易读和解码的令牌形式只需运行 uaac token decode 应该显示令牌的解码形式 jti: d99b2850-bd45-4e97-822e-74a62e07f4c5sub: adminauthorities: clients.read clients.secret clients.write uaa.admin clients.admin scim.write scim.readscope: clients.read clients.secret clients.write uaa.admin clients.admin scim.write scim.readclient_id: admincid: adminazp: admingrant_type: client_credentialsrev_sig: e78b0213iat: 1487039776exp: 1487082976iss: http://localhost:8080/uaa/oauth/tokenzid: uaaaud: admin clients uaa scim 现在创建一个全新的客户端称为client1我将在后续文章中使用它 uaac client add client1 \--name client1 --scope resource.read,resource.write \--autoapprove .* \-s client1 \--authorized_grant_types authorization_code,refresh_token,client_credentials \--authorities uaa.resource 该客户端将向用户请求一个resource.readresource.write范围并将参与authorization_code授予类型的OAuth2流 创建系统的资源所有者或用户 uaac user add user1 -p user1 --emails user1user1.com 并为此用户分配一个resource.read范围 uaac group add resource.read
uaac member add resource.read user1 进行测试流程 现在我们有了一个客户端和一个资源所有者让我们快速执行一个authorization_code流程uaac提供了一个方便的命令行选项该选项提供了必要的重定向挂钩来捕获auth代码并将auth_code转换为访问令牌。 uaac token authcode get -c client1 -s client1 --no-cf 调用上述命令应该会打开一个浏览器窗口并提示用户输入凭据 使用先前创建的user1 / user1用户登录时应在命令行中以一条消息指示已成功获取令牌的方式进行响应可以使用以下命令再次探索该令牌 uaac context 输出显示登录用户的详细信息 jti: c8ddfdfc-9317-4f16-b3a9-808efa76684bnonce: 43c8d9f7d6264fb347ede40c1b7b44aesub: 7fdd9a7e-5b92-42e7-ae75-839e21b932e1scope: resource.readclient_id: client1cid: client1azp: client1grant_type: authorization_codeuser_id: 7fdd9a7e-5b92-42e7-ae75-839e21b932e1origin: uaauser_name: user1email: user1user1.comauth_time: 1487040497rev_sig: c107f5c0iat: 1487040497exp: 1487083697iss: http://localhost:8080/uaa/oauth/tokenzid: uaaaud: resource client1 这结束了设置本地UAA并添加OAuth2流中涉及的几个角色客户端和用户的旋风之旅。 我还没有介绍OAuth2流程本身OAuth2的Digital Ocean简介是关于流程的很好的入门。 我将在这篇文章之后发表一篇有关如何使用此基础架构来保护示例资源的文章并演示使用Spring Security和Spring Boot的流程。 翻译自: https://www.javacodegeeks.com/2017/02/bootstrapping-oauth2-authorization-server-using-uaa.html uaa 授权