警告:我完全是JWT newb,正在尝试解决所有问题。
首先...我的理解:JWT包含三个由分隔的段.
。可以对base的第一部分进行解码,以获取“某些内容”,在这里我可以验证第二段(和第三段)中的声明。
我能够得到id_token
支持,并且可以将每个段分成各自的JSON对象...但是那根本不安全:)
我看了一下这个https://github.com/firebase/php-jwt,但是我不确定解码JWT需要提供什么密钥(我知道我可以解码第一段并获得kid
用于JWT的密钥,但是当我有那个特定的key
对象时...我不确定要传递给Firebase的什么来对其进行解码?https: //login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/discovery/v2.0/keys?p = b2c_1_sign_in
请原谅我对JWT的恐惧:/
编辑:更多信息
使用此ID令牌: eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IklkVG9rZW5TaWduaW5nS2V5Q29udGFpbmVyIn0. eyJleHAiOjE0NDIzNjAwMzQsIm5iZiI6MTQ0MjM1NjQzNCwidmVyIjoiMS4wIiwiaXNzIjoiaHR0cHM6Ly9s b2dpbi5taWNyb3NvZnRvbmxpbmUuY29tLzc3NTUyN2ZmLTlhMzctNDMwNy04YjNkLWNjMzExZjU4ZDkyNS92 Mi4wLyIsImFjciI6ImIyY18xX3NpZ25faW5fc3RvY2siLCJzdWIiOiJOb3Qgc3VwcG9ydGVkIGN1cnJlbnRs eS4gVXNlIG9pZCBjbGFpbS4iLCJhdWQiOiI5MGMwZmU2My1iY2YyLTQ0ZDUtOGZiNy1iOGJiYzBiMjlkYzYi LCJpYXQiOjE0NDIzNTY0MzQsImF1dGhfdGltZSI6MTQ0MjM1NjQzNCwiaWRwIjoiZmFjZWJvb2suY29tIn0. h-uiKcrT882pSKUtWCpj-_3b3vPs3bOWsESAhPMrL-iIIacKc6_uZrWxaWvIYkLra5czBcGKWrYwrAC8ZvQe DJWZ50WXQrZYODEW1OUwzaD_I1f1HE0c2uvaWdGXBpDEVdsD3ExKaFlKGjFR2V7F-fPThkVDdKmkUDQX3bVc yyj2V2nlCQ9jd7aGnokTPfLfpOjuIrTsAdPcGpe5hfSEuwYDmqOJjGs9Jp1f-eSNEiCDQOaTBSvr479L5ptP XWeQZyX2SypN05Rjr05bjZh3j70ZUimiocfJzjibeoDCaQTz907yAg91WYuFOrQxb-5BaUoR7K-O7vxr2M-_ CQhoFA
我可以将标题段解码eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IklkVG9rZW5TaWduaW5nS2V5Q29udGFpbmVyIn0
为{"typ":"JWT","alg":"RS256","kid":"IdTokenSigningKeyContainer"}
然后查看https://login.microsoftonline.com/fabrikamb2c.onmicrosoft.com/discovery/v2.0/keys?p=b2c_1_sign_in
我知道使用了这个关键对象
{"kid":"IdTokenSigningKeyContainer","use":"sig","kty":"RSA","e":"AQAB","n":"tLDZVZ2Eq_DFwNp24yeSq_Ha0MYbYOJs_WXIgVxQGabu5cZ9561OUtYWdB6xXXZLaZxFG02P5U2rC_CT1r0lPfC_KHYrviJ5Y_Ekif7iFV_1omLAiRksQziwA1i-hND32N5kxwEGNmZViVjWMBZ43wbIdWss4IMhrJy1WNQ07Fqp1Ee6o7QM1hTBve7bbkJkUAfjtC7mwIWqZdWoYIWBTZRXvhMgs_Aeb_pnDekosqDoWQ5aMklk3NvaaBBESqlRAJZUUf5WDFoJh7yRELOFF4lWJxtArTEiQPWVTX6PCs0klVPU6SRQqrtc4kKLCp1AC5EJqPYRGiEJpSz2nUhmAQ"}
那么...我要传递给Firebase的键值是多少?
以防万一有人想要快速起步和/或像我一样感到困惑;我可以建议问题评论中指出的链接@astaykov
https://github.com/Azure-Samples/active-directory-b2c-php-webapp-openidconnect
连同我为授权代码授予创建的简单类(使用外部库处理句柄以获取SSO URL,OAuth2令牌并验证id_token)
https://gist.github.com/rcosgrave/ec92938181096fd8847a38c9cc6a37d0
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句