如何在blazor web assembly中获取id_token

2024-03-07

我有一个带有 oidc 身份验证的 Blazor WebAssembly(最新 3.2.0)应用程序。 asp.net 身份验证提供了一种获取 accessToken 的方法,但看不到任何访问我的场景所需的 id_token (jwt) 的方法。 我可以在浏览器的本地存储中看到id_token。 访问它的最佳方式是什么?

Thanks


您可以使用 JSInterop 从会话存储中读取它,它存储在 key 处oidc.user:{应用程序baseUri}:{应用程序客户端ID} :

@inject IJSRuntime JSRuntime
@inject NavigationManager NavigationManager
...
@code {
     private async Task<string> ReadIdToken()
     {
          const string clientId = "your oidc client id";
          var userDataKey = $"oidc.user:{NavigationManager.BaseUri}:{clientId}";
          var userData = await JSRuntime.InvokeAsync<UserData>("sessionStorage.getItem", userDataKey);
          return userData.id_token;          
     }

     class UserData
     {
         public string id_token { get; set; }
         public int expires_at { get; set; }
     }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在blazor web assembly中获取id_token 的相关文章

随机推荐

  • 是否可以禁用 cdkDrag 子元素上的拖动?

    我正在使用 Angular Material 中的 Angular CDK 拖放 请参阅文档here https material angular io cdk drag drop overview 我想知道是否有可能禁用在子元素上拖动cd
  • Django Rest框架-无法序列化查询集

    我尝试序列化查询集 def do self reservations Reservation objects all serializer ReservationSerializer data reservations many True
  • golang 类型映射的匿名字段

    我想我可以通过使用匿名字段来创建有序的地图类型 type customMap struct map string string ordered string 我可以在哪里参考地图customMapInstance key 并迭代ordere
  • Docker-swarm >> 无法连接到 docker 引擎端点

    docker version 1 9 1 swarm version 1 0 1 为什么要将 3 个虚拟机 桥接网络 连接到 swarm docker info 显示所有节点 状态待定 3 个主机中的 1 个是manager所有输出均来自该
  • 确定 JavaScript 属性是否定义了 getter 或 setter?

    给定一个对象和属性名称 是否可以确定该属性是使用 getter 还是 setter 定义的 还是完全透明的 如果属性上尚未定义 getter setter 我只想定义一个 getter setter 我需要它在 WebKit Firefox
  • Git init --bare - 不在工作树上工作

    我正在按照这里的例子http wiki dreamhost com Git http wiki dreamhost com Git 基本上我想创建一个 git 存储库 我可以从桌面推送到服务器上 在主机上 host mkdir projec
  • UILocalNotification:播放保存在文档目录中的自定义音频文件

    目前我正在创建一个警报应用程序 它可以从服务器播放自定义音频剪辑 我的实现计划是在本地保存所有音频剪辑 然后相应地设置 soundName 但我有一些问题 目前 我在将音频文件保存在捆绑目录中时遇到问题 只能将文件保存在文档目录中 是否可以
  • 相当于ORACLE在mysql中的并行查询

    mysql中有没有与ORACLE相同的并行查询的等效方法 甲骨文之道 select FULL emp PARALLEL emp 35 emp name from emp 在mysql中 完整 emp 并行 emp 35 将被视为评论 MyS
  • 在 Java 中嵌入 XQuery

    我需要从 Java 中的 MusicXML xml 文件中检索一些详细信息 我设法用java读取xml文件 但通过网络服务 当我运行代码时我必须在线 连接到互联网 我遇到了 XQuery 您可以轻松地从 XML 文件中提取信息 但我需要在j
  • GNU 制定通配符替代方案吗?

    我想选择目录中的所有文件 但使用 FreeBSD 的 make 在 GNU 中 使这种方法有效 FILES wildcard c 我使用的是 FreeBSD 的 make 而不是 GNU make 所以我正在寻找可以在 FreeBSD 的
  • 从 DOM 中删除同级元素时创建块元素的平滑过渡

    我有一个容器 其工作方式类似于 mac os 中的通知 元素被添加到队列中 并在一定的超时后被删除 这很有效 但有一个不和谐的视觉副作用 当它们从 DOM 中删除时 UI 会出现锯齿状更新 因为堆栈中的下一个元素会填充前一个元素创建的空白
  • Web API Swagger 文档导出为 PDF

    根据文档 http swagger io open source integrations http swagger io open source integrations 有插件Java to 将 Swagger 文档导出为 PDF 我只
  • 如何在组件中查找元素?

    我想知道如何使用以下命令找到组件内的元素Renderer 在 angular1 中我会去 link scope element attributes gt var outsideBox element find outside box 这返
  • 简单文件复制的正确 Java 配置是什么

    我对 Spring 非常陌生 对 Spring Integration 更陌生 所以如果这是一个非常基本的问题 我深表歉意 我想构建一个非常基本的日志文件处理器来学习诀窍 与此非常相似 example http forum spring i
  • Python:用于从各种格式加载音频元数据的功能最丰富的库是什么?

    我正在寻找一个功能丰富的优秀库 用于从各种音频格式 MP3 FLAC OGG WAV 等 读取元数据 我已经看过 Mutagen 但文档几乎不存在 而且它似乎无法加载基本信息 例如艺术家和音频标题 艺术家和音频标题编码是否正确 它无法满足哪
  • AppCode 工作区和 TFS 命令行客户端工具

    我可以使用 AppCode 创建一个工作区 并成功签入和签出 TFS 这一切都很好 但是当我使用TFS 的跨平台命令行客户端 http msdn microsoft com en us library gg413282 28v vs 100
  • perl 如何将 perl 脚本的列表形式系统调用的 STDOUT 附加到文件

    My bosswrap pl将生成元素中包含空格的任意数组 它通过系统调用重复发送数组wrapped pl 它根据数组创建 STDOUT 随后 bosswrap pl必须附加 STDOUTwrapped pl到一个文件bosswrap pl
  • Android - 拍摄照片并通过 Intent 使用自定义名称将其保存到自定义目的地

    我有一个程序可以通过 Intent 打开相机来拍照 这么多部分已经可以正常工作了 但是 我希望它将它保存到具有特定文件名的特定文件夹中 文件名是可选的 但它确实很有帮助 这就是我到目前为止所拥有的 这是打开相机的代码行 TODO camer
  • Alfresco:定义新的控制参数

    我正在开发一个自定义表单控件 需要定义一个名为字符串类型的新控制参数helptext 我了解如何在我的 share config custom 中调用它 如何在我的自定义表单控件中使用它 但不知道如何最初声明它 我看到其他控制参数使用以下格
  • 如何在blazor web assembly中获取id_token

    我有一个带有 oidc 身份验证的 Blazor WebAssembly 最新 3 2 0 应用程序 asp net 身份验证提供了一种获取 accessToken 的方法 但看不到任何访问我的场景所需的 id token jwt 的方法