如何知道给定用户是否已使用 MSAL 登录?

2023-12-29

使用 msal.js 库(Microsoft 身份验证库),这是了解给定用户是否已登录的方法?我的目的是避免在用户的凭据已保存在浏览器存储中时显示登录弹出窗口

我目前的做法:

function isUserLoggedIn(username) {
 const agent = msal.UserAgentApplication(...);
 const user = agent.getUser();
 return user != null && user.displayableId === username);
}

但我不确定是否必须检查用户凭据是否已过时/过期。哪条路才是正确的路?


使用 MSAL 代理实例,您可以获取用户信息,因为它已被缓存。获取信息(例如 userId)并不意味着用户的凭据仍然有效(已登录)。 要 100% 确定用户已登录,请请求令牌

const promise = agent.acquireTokenSilent(...)

如果用户未登录,则承诺将被拒绝并显示错误代码用户登录错误另一方面,如果用户仍然登录,则承诺将得到解决

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

如何知道给定用户是否已使用 MSAL 登录? 的相关文章

随机推荐

  • 在 Postgres 字符串数组上创建不区分大小写的索引

    我正在使用一个varchar Postgres 9 2 中的列 varchar 数组 用于存储一些标签 在按标签检索行时 我希望查询不区分大小写 但是 我想保留在 UI 中显示的大小写 因此我不能只将所有内容存储为小写 所以 我的问题是如何
  • 本机链接失败,重复符号:“_main”,同时添加本机 Binding Dll 和 Xamarin.Firebase.iOS.Database

    我尝试使用 NuGet 在我的 Xamarin 项目中添加和实现本机 Binding Dll 和 Xamarin Firebase iOS Database 但由于以下错误 我无法构建我的项目 错误 MT5213 重复符号位于 obj iP
  • 如何将 javascript 变量的值赋给 php 变量

    我有一个表格
  • postgres:复合全文/btree 索引

    我想对一列进行全文搜索并在另一列中进行排序 如果我分别为这两列建立索引 postgres 就不能在此查询中使用这两个索引 有没有办法创建可以在这种情况下使用的复合索引 不幸的是没有 虽然您可以通过以下方式将标量列附加到 GIN 索引btre
  • 求numpy中n个点到m个点之间的平方距离

    我有 2 个 numpy 数组 比如说X and Y 其中每一行代表一个点向量 我想找到 X 中每个点到 Y 中每个点之间的平方欧氏距离 将称为 距离 我希望输出是矩阵 D 其中D i j is dist X i Y j 我有以下基于以下
  • 当传播设置为 Propagation.NOT_SUPPORTED 时 Hibernate 和 TransactionRequiredException

    TL DR 服务方法注释为 Transactional propagation Propagation NOT SUPPORTED Hibernate 5 0 4 Final 一切按预期工作 方法在没有事务的情况下执行 休眠 5 2 5 最
  • 存储变量数据

    我正在使用 ASP NET C MVC3 和 SQL Server 2008 构建一个应用程序 向用户提供一个表格供其填写 姓名 电子邮件 地址等 我希望允许应用程序管理员在此表单中添加额外的动态问题 额外问题的数量和返回的数据类型会有所不
  • Laravel Dusk,DatabaseTransactions 不执行回滚

    我正在使用 Laravel Dusk 以下注册测试工作正常 只是它不会回滚事务 即在 注册 上创建的用户记录始终保留在数据库中 我的表都设置为使用 InnoDB 引擎 对发生的事情有什么想法吗 我在很多地方都放了日志 看起来没有什么特别错误
  • 从专用网卡访问时,Rails 显示 IP 为 127.0.0.1,但 Nginx 显示正确的 IP。公共 IP 转发良好

    我们正在 Unicorn Nginx 上运行 Rails 应用程序 服务器有两个我们使用的网卡 eth0处理公共互联网的请求 以及eth2处理来自我们专用网络的请求 当请求通过时eth0 nginx日志显示公共IP Rails日志也显示此I
  • 在 xcode 中添加另一个团队

    这个问题不是重复的在 xcode 中添加另一个团队 https stackoverflow com questions 32610740 adding another team to xcode or 受邀加入开发团队时如何从 Xcode
  • 如何在 C# 中复制类的实例

    C 有没有办法复制对象 就像是 var dupe MyClass original 我希望它们相等 以便所有数据成员都相同 但不共享相同的内存位置 您可能正在谈论深层复制 深拷贝与浅拷贝 https stackoverflow com qu
  • 一次自动静音播放多个 YouTube 视频

    我正在尝试制作一个使用 YouTube iframe API 来显示多个视频的网页 这些视频在加载时自动开始播放 我希望 4 个视频中的 3 个开始静音播放 但第 4 个视频有音频播放 最后 我尝试创建一个静音 取消静音和暂停 开始按钮 让
  • JSON 数据未显示,而是显示空白屏幕

    尝试制作一个简单的应用程序 从服务器获取 JSON 数据并将它们显示在自定义列表中 这是非常简单的事情 但是当我运行该应用程序时 它显示白色空白屏幕 但没有数据 它也没有显示任何错误 我假设如果有任何错误它就不会在我的手机中运行 但不显示获
  • 擦除后无法写入闪存

    所以我不能在擦除后直接写入内部闪存 如果写操作之前没有擦除操作 那么我可以 有什么想法吗 编程函数返回 成功写入 值 但查看内存时 没有写入任何数据 这是代码 uint32 t pageAddress 0x08008000 uint16 t
  • csv 到 xml:不确定在 Mule ESB 中执行此操作的最佳方法

    我是 Mule 的新手 所以请耐心等待 我收到以下 CSV 文件 Company1 2 123 Street Winchester UK 000010 CHRISTINE I HAAS A00 3978 1995 01 01 PRES 18
  • Java - 在不同的进程中启动另一个类的main

    我需要一种干净的方法来使用 GUI 启动 Java 程序的许多实例 并且我想以编程方式执行此操作 我想要运行的 程序 只是一个 class 文件 带有 main 方法的已编译的 java 文件 它应该显示一个 GUI 并独立于其他文件运行
  • Laravel Eloquent - 如果列值为 NULL 或 0,则不运行关系查询

    我的内部有各种各样的关系Eloquent Models看起来像这样 public function main image return this gt hasOne Media class id main image id 然而 如果mai
  • 创建行并将其写入文件

    是否可以创建一个文件并在 vbscript 中向其中写入行 类似的东西蝙蝠中的回声 file echo something something gt gt sometextfile txt 执行 vbscript 时 根据脚本的路径将创建一
  • 通过 debconf-set-selections 为 mysql 预配置一个空密码

    我正在设置一个 bash 脚本来自动构建 LAMP 环境 我在用debconf set selections在安装 mysql phpmyadmin 等之前设置选项 主要是效果很好 但问题是我have to为 mysql 设置一个空密码 即
  • 如何知道给定用户是否已使用 MSAL 登录?

    使用 msal js 库 Microsoft 身份验证库 这是了解给定用户是否已登录的方法 我的目的是避免在用户的凭据已保存在浏览器存储中时显示登录弹出窗口 我目前的做法 function isUserLoggedIn username c