当前位置: 首页 > 知识库问答 >
问题:

keydeport如何获取RPT

唐海阳
2023-03-14

我正在尝试从keydepeat获取所有权限,即用户可以访问的所有资源和范围。

基本上,我想从keydeport获取RPT,权限如keydeport restapi文档和下图所示

不幸的是,文档要么令人困惑,要么没有显示请求RPT的方式。这个例子都在RPT下,继续,文档只是解释如何进一步内省令牌。

您如何从keydeport获得这个令牌(实际上包含示例令牌中的权限的任何东西)?

共有1个答案

劳夕
2023-03-14

你可能想试试这样的东西:

USER=test
PASS=test
CLIENT_ID=test
CLIENT_SECRET=your-client-secret

RESULT=`curl -s --data "grant_type=password&client_id=${CLIENT}&client_secret=${CLIENT_SECRET}&username=${USER}&password=${PASS}" http://localhost:8080/realms/master/protocol/openid-connect/token`
ACCESS_TOKEN=`echo $RESULT | jq -r .access_token`

RPT_RESULT=`curl -s -H "Authorization: Bearer ${ACCESS_TOKEN}" --data "grant_type=urn:ietf:params:oauth:grant-type:uma-ticket&client_id=${CLIENT}&audience=${CLIENT}" http://localhost:8080/realms/master/protocol/openid-connect/token`
echo $RPT_RESULT | jq -r .access_token | cut -d "." -f2 | base64 -d | jq

这首先检索访问令牌,然后查询RPT。

这将为您提供如下输出:

{
  "exp": 1643134734,
  "iat": 1643134674,
  "jti": "f60caba8-8f20-43f0-9054-6389f998032c",
  "iss": "http://localhost:8080/realms/master",
  "aud": "test",
  "sub": "18cce3e6-e3a0-4be9-a1ff-6635adf5928b",
  "typ": "Bearer",
  "azp": "test",
  "session_state": "539a81bf-aa27-4ce4-911a-405f5a2c90ac",
  "acr": "1",
  "realm_access": {
    "roles": [
      "create-realm",
      "default-roles-master",
      "offline_access",
      "admin",
      "uma_authorization"
    ]
  },
  "resource_access": {
    "master-realm": {
      "roles": [
        "view-identity-providers",
        "view-realm",
        "manage-identity-providers",
        "impersonation",
        "create-client",
        "manage-users",
        "query-realms",
        "view-authorization",
        "query-clients",
        "query-users",
        "manage-events",
        "manage-realm",
        "view-events",
        "view-users",
        "view-clients",
        "manage-authorization",
        "manage-clients",
        "query-groups"
      ]
    },
    "account": {
      "roles": [
        "manage-account",
        "manage-account-links",
        "view-profile"
      ]
    },
    "test-realm-realm": {
      "roles": [
        "view-identity-providers",
        "view-realm",
        "manage-identity-providers",
        "impersonation",
        "create-client",
        "manage-users",
        "query-realms",
        "view-authorization",
        "query-clients",
        "query-users",
        "manage-events",
        "manage-realm",
        "view-events",
        "view-users",
        "view-clients",
        "manage-authorization",
        "manage-clients",
        "query-groups"
      ]
    }
  },
  "authorization": {
    "permissions": [
      {
        "rsid": "9f708183-5aa3-4a8a-96fd-5be9aef5427d",
        "rsname": "Default Resource"
      }
    ]
  },
  "scope": "profile email",
  "sid": "539a81bf-aa27-4ce4-911a-405f5a2c90ac",
  "email_verified": false,
  "preferred_username": "admin"
}
 类似资料:
  • 我有一个Spring应用程序,它具有keydeport依赖性。前端发送到我的后端承载令牌,我想使用这个令牌从keydeport获取用户名和他的UUID。 这是我的钥匙斗篷配置。 在这个endpoint中,我得到授权头:

  • ThinkCMF获取方式: 官方网站 :http://www.thinkcmf.com可获取最新版本 git@osc :http://git.oschina.net/thinkcmf/ThinkCMFX github :https://github.com/thinkcmf/cmfx

  • 本文向大家介绍Java如何获取Log4j,包括了Java如何获取Log4j的使用技巧和注意事项,需要的朋友参考一下 示例 当前版本(log4j2) 使用Maven: 将以下依赖项添加到POM.xml文件中: 使用常春藤: 使用Gradle: 获取log4j 1.x 注意: Log4j 1.x已达到寿命终止(EOL)(请参阅备注)。 使用Maven: 在POM.xml文件中声明此依赖项: 使用常春藤

  • 问题内容: 我在http://json.org/javadoc/org/json/JSONObject.html上使用Java类。 以下是我的代码段。 getJSON返回以下字符串 现在…我如何获得“口号”的价值? 我尝试了页面上列出的所有方法,但没有一个起作用。 问题答案:

  • 如何从(在清单中)使用java?

  • 什么是 Bundle ID Bundle ID是第三方应用的唯一识别码,在iOS应用市场被称为Bundle ID,在Android应用市场被称为Application ID。 1. 如何获取iOS Bundle identifier? 1.1 开发者获取 使用Xcode,并切换至Info下,查看Bundle identifier,其中,黑色和灰色的文字都要复制下来。 1.2 运营者获取 登录iOS