java - 使用某些端点或类的 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
谁能帮我解决这个问题
如果在任何地方需要更多详细信息,请告诉我
解决方案
您可以直接检查 id_token 的某些声明值,以检查 id_token 是否来自同一应用程序,并且通过解码 id_token也是有效的。
例如,您可以检查aud
值以查找此 id_token 是针对哪个应用程序的,aud
值是您的应用程序的应用程序 ID;您可以使用iat
、exp
和nbf
三个声明的值来检查令牌是否有效。这里iat
的 value 是 token 发出的时间,nbf
value 是 token 生效exp
的时间, value 是 token 失效的时间。
详情请阅读v2.0 tokens。
推荐阅读
- node.js - 在 Angular @ngx-translate 上翻译 .ts 文件
- reactjs - ReactJS 构建错误 - 无法读取属性
- seo - 如何在shopify中替换url产品
- angular - 角度错误 TS2564 属性“formGroup”没有初始化程序
- python - 黑色格式化程序 - 如何仅扫描选定的目录
- javascript - 用于库文件的 Webpack/Typescript,如何进行 treeshake 导入,而不是 treeshake 导出?
- firebase - Firebase 计划处理超过 1000 条记录会导致超时
- c - 读取文本文件并搜索文本
- angular - 如何以角度为json数据实现输入搜索和下拉过滤器
- postgresql - 重复表后不同的表大小?