我尝试在单独的服务器上生成用户身份验证(由其他公司运营):
https://www.example.com(我的网站)
https://forums.example.com(由公司运营的论坛实例)
要执行此身份验证,他们可以选择使用以下选项接受加密的SSO Cookie:
我已经在没有加密的情况下对此实现进行了测试,但它确实有效,因此我知道问题不在于JSON,而在于加密。我已多次尝试加密cookie并将其传递,但论坛网站无法解密cookie,无论各种实现如何。这就是我现在所拥有的:
from Crypto.Cipher import RSA
from Crypto.Cipher import PKCS1_v1_5
import base64
def login(request):
key = RSA.generate(2048)
pubKey = key.publickey()
privKey = key.exportKey('PEM') // save into private_key.pem and uploaded
msg = '{"id": 1, "user": "jdoe"}'
cipher = PKCS1_v1_5.new(pubKey)
emsg = base64.b64encode(cipher.encrypt(msg))
response = redirect("https://forum.example.com")
response.set_cookie("test", emsg, secure=True, httponly=True, domain="example.com")
return response