我正在尝试通过Admin REST API和Python创建Keycloak客户端。
我尝试了以下操作:
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' } 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容器)
答案 0 :(得分:1)
我已经做到了,
import requests import argparse import astdef get_token():
Dim csb = New SqlConnectionStringBuilder(cs) csb.ApplicationName = "all my logging info..."
def create_client():
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')