gpt4 book ai didi

python-3.x - 通过 REST API 创建 Keycloak 客户端

转载 作者:行者123 更新时间:2023-12-05 00:58:09 32 4
gpt4 key购买 nike

我正在尝试使用 Python 通过 Admin REST API 创建 Keycloak 客户端。

我尝试了以下方法:

import requestsimport argparseimport astdef get_token():    url = 'http://localhost:9003/auth/realms/master/protocol/openid-connect/token'    params = {        'client_id': 'admin-cli',        'grant_type': 'password',        'username' : 'admin',        'password': 'password'    }    return ast.literal_eval(requests.post(url, params, verify=False).content.decode("utf-8"))['access_token']    #return requests.post(url, params, verify=False).content.decode('utf-8')def create_client():    url ='http://localhost:9003/auth/admin/realms/master/clients'    headers = {                'content-type': 'application/json',                'Authorization' : 'bearer '+ str(get_token)                }    params = {                                "clientId":"testclient-3",                                #"id":"3",                                #"name": "testclient-3",                                #"description": "TESTCLIENT-3",                                #"enabled": True,                                #"redirectUris":[ "\\" ],                                #"publicClient": True            }    return requests.post(url, headers, params, verify=False)x = create_client()print (x)

我收到 401 HTTP 代码,谁能帮我解决这个问题?

提前谢谢你。

PS:9003映射到8080(我用的是Keycloak docker容器)

最佳答案

我已经做到了,这样:

import requests
import argparse
import ast

def get_token():

url = 'http://localhost:9003/auth/realms/master/protocol/openid-connect/token'

params = {

'client_id': 'admin-cli',
'grant_type': 'password',
'username' : 'admin',
'password': 'password'
}
x = requests.post(url, params, verify=False).content.decode('utf-8')
print (x)
print ('\n')
return ast.literal_eval(x)['access_token']
#return requests.post(url, params, verify=False).content.decode('utf-8')

def create_client():

url ='http://localhost:9003/auth/admin/realms/master/clients'

headers = {
'content-type': 'application/json',
'Authorization' : 'Bearer '+ str(get_token())
}

params = {
"clientId" : "testclient",
"id":"3",
"name": "testclient-3",
"description": "TESTCLIENT-3",
"enabled": True,
"redirectUris":[ "\\" ],
"publicClient": True


}
x = requests.post(url, headers=headers, json=params)
print (x)
return x.content

关于python-3.x - 通过 REST API 创建 Keycloak 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58604520/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com