Go DEX LDAP连接器令牌签名
我正在玩DEX和openldap。当我在浏览器中获取令牌并将其与生成的公钥一起放入JWT调试器时,它不会验证签名。我正试图逐步完成DEX的代码,但调试工具在我的计算机上并没有真正起作用。我求助于日志声明。我真的找不到哪里可以观察令牌的签名,看程序是否使用我提供的密钥。哪个函数实际对令牌进行签名?我如何观察它用于签名的密钥?可以从DEX“keys”端点读取密钥,该端点可以从以下位置获得: 通常情况下,它类似于: 之后,可以使用以下程序提取公钥: 其中一个密钥将能够验证令牌:Go DEX LDAP连接器令牌签名,go,jwt,openldap,openid-dex,Go,Jwt,Openldap,Openid Dex,我正在玩DEX和openldap。当我在浏览器中获取令牌并将其与生成的公钥一起放入JWT调试器时,它不会验证签名。我正试图逐步完成DEX的代码,但调试工具在我的计算机上并没有真正起作用。我求助于日志声明。我真的找不到哪里可以观察令牌的签名,看程序是否使用我提供的密钥。哪个函数实际对令牌进行签名?我如何观察它用于签名的密钥?可以从DEX“keys”端点读取密钥,该端点可以从以下位置获得: 通常情况下,它类似于: 之后,可以使用以下程序提取公钥: 其中一个密钥将能够验证令牌: from jos
from jose import jwt
key = '''-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArT9AtIlC8MxhLYhz8ODH
...
+QIDAQAB
-----END PUBLIC KEY-----'''
encoded = 'eyJh...ocw'
audience = ''
if audience == "":
opts = {"verify_aud": False}
else:
opts = {}
opts['verify_at_hash'] = False
decoded = jwt.decode(encoded, key, audience=audience, options=opts)
print(decoded)