Azure AD B2C使用PHP验证JWT

射线

警告:我完全是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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Azure AD与Azure AD B2C与Azure AD B2B

Можно ли подключить Azure API Management и Azure AD B2C?

具有自定义策略的Azure AD B2C中的多租户Azure AD身份验证

我可以使用自己的UI通过Azure AD B2C对用户进行身份验证吗?

使用Azure AD B2C身份验证为服务

Azure AD B2C和Azure AD Connect

具有Google Flutter的轻松身份验证的Azure AD B2C

如何在Azure AD B2C中启用电子邮件验证

Azure AD B2C对企业Azure AD帐户进行身份验证

使用Azure AD B2C的多路访问令牌

用户的Azure AD和Azure B2C

使用Azure AD B2C进行Firebase身份验证

在Google / Facebook注册Azure AD B2C之后跳过验证页面

在Azure AD B2C中使用Azure AD Graph API创建用户

Azure AD和Azure B2c

使用来自“ jwks_uri”端点的值验证从azure ad b2c收到的令牌

在Chrome中无法使用MSAL Azure AD B2C身份验证-隐身

通过Azure Ad b2c和Authenticator App使用2因子身份验证

如何使用PHP验证Azure ad b2c令牌?

Azure AD B2C,以编程方式获取MFA验证的电话号码

使用 Graph API 对 Azure AD B2C 上的用户进行身份验证

使用 AD Graph API 从 Azure AD B2C 管理用户 - 安全访问

使用 Azure AD B2C 的 SMS 功能

使用 azure AD B2C 进行 blazor web api 身份验证

无法针对 Microsoft Graph API 颁发的令牌验证 Azure AD B2C 的签名

Azure AD B2C MSAL 身份验证问题

配置 Azure 静态 Web 应用以使用 Azure AD B2C 进行身份验证

如何使用 Azure AD 和 Azure AD B2C 对应用程序进行身份验证

在 Azure AD B2C 身份验证中转换用户名