首页 > 解决方案 > 使用某些端点或类的 azure id_token 有效性

问题描述

我已经从我的 Angular 应用程序中针对 azure AD ( https://login.microsoftonline.com/ {tenantId}/oauth2/v2.0/authorize) 成功进行了身份验证,并获得了id_token。id_token被传递给另一个多受信任的 Spring Boot REST 应用程序

从受信任的 Spring Boot REST 应用程序中,我可以验证id_token是否有效。我们是否有任何端点或开箱即用的类来检查id_token的有效性。即检查id_token是否来自同一个应用程序并且也是有效的。受信任的 Spring Boot 应用程序具有以下所有详细信息

azure.activedirectory.tenant-id=xxxxx...
azure.activedirectory.client-id=xxxxxx...
azure.activedirectory.client-secret=xxxxx...
azure.activedirectory.active-directory-groups=Users

谁能帮我解决这个问题

如果在任何地方需要更多详细信息,请告诉我

标签: javaazurespring-bootoauth-2.0azure-active-directory

解决方案


您可以直接检查 id_token 的某些声明值,以检查 id_token 是否来自同一应用程序,并且通过解码 id_token也是有效的。

例如,您可以检查aud值以查找此 id_token 是针对哪个应用程序的,aud值是您的应用程序的应用程序 ID;您可以使用iatexpnbf三个声明的值来检查令牌是否有效。这里iat的 value 是 token 发出的时间,nbfvalue 是 token 生效exp的时间, value 是 token 失效的时间。

详情请阅读v2.0 tokens


推荐阅读