AngularJS 应用程序的 AssertionUrl

2023-12-04

我的申请流程是这样的,

  1. 用户输入 Url,然后显示 AngularJS 登录页面
  2. 用户单击“使用 SAML 登录”并调用返回 SAML 登录 URL 的 Web API 端点
  3. AngularJS UI 接收 SAML 登录 URL 并将用户重定向到 Idp 登录屏幕
  4. 用户通过 Idp 进行身份验证,并且 Idp 调用 AssertionUrl

问题从这里开始,

  1. 如果我在 Web API 上创建断言 URL 并验证请求,那么 AngularJS UI 如何知道登录是否成功?

对于 MVC 和 Web 表单,这非常简单,但是对于 AngularJS/Angular SPA 应该做什么?

Edit 1:

登录流程

SPA -> API -> SPA -> Idp

(SPA调用API,API生成SAML请求并将其返回给SPA,SPA然后重定向到Idp)

断言流程

Idp -> API ?温泉

(Idp 调用 API 中的 AssertionUrl,API 生成 JWT,但如何将其发送到 SPA?)


在 AngularJS/Angular SPA 中,您有两种可能的解决方案来处理成功 SAML 2.0 身份验证后的后续用户会话。

  1. 像 ASP.NET MVC 中一样使用 cookie。您必须限制 cookie 以确保其在 SPA 中的安全。它要求您的 API 和 SPA 位于同一域中。

  2. 成功登录后创建 JWT 访问令牌。它被交给 SPA 并在后端 API 代码中的每个 API 调用中进行验证。

您可以使用以下命令创建 JWT 访问令牌ITfoxtec.身份包裹。通过致电JwtHandler.CreateToken method https://github.com/ITfoxtec/ITfoxtec.Identity/blob/master/src/Tokens/JwtHandler.cs#L38.

Edit 1

SPA、IdP 和 API 之间的所有通信都是通过客户端浏览器重定向或发布。

在断言流程中成功进行身份验证后。 API 可以使用查询中的访问令牌或 URL 中的片段重定向到 SPA

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

AngularJS 应用程序的 AssertionUrl 的相关文章

  • 使用 angularjs 在 Internet Explorer 中获取 Blob url

    鉴于此代码 来自其他人 var module angular module myApp module controller MyCtrl function scope scope json JSON stringify a 1 b 2 mo
  • 为什么当输入很大时,asp.net 找不到合适的 apicontroller?

    我有一个功能可以立即保存我的实体列表 public void Save IEnumerable
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • 在 Web 应用程序上同时运行两个版本的 (twitter) bootstrap

    我目前已经开始尝试使用 bootstrap 和 angularjs 进行客户端开发 我收到了一项任务 为我们的网站 一个 angularjs 应用程序 制作一个或多或少独立的功能 并且一直在研究它 但注意到我学到的引导函数不起作用 经过检查
  • 通过查询字符串传递“Bearer”时 SignalR 身份验证失败

    我想在 SignalR 中启用身份验证 而服务器托管在 ASP NET WebAPI 中 我使用 OAuth Bearer 身份验证 客户端是 AngularJS 在客户端 我最初通过 HTTP 标头传递 Bearer 令牌 它与 WebA
  • 使用 Angularjs,$http 在 Microsoft Edge 中发布返回响应错误

    好吧 当我开发一个管理页面进行测试时 Microsoft Edge 中出现了一个奇怪的问题 这是从loginCtrl js服务器获取响应的部分源代码 http method POST url Define apiUrl admin logi
  • 如何与 ng-class 中的字符串进行比较?

    这条线似乎不适合我 Sort By a href Alphabetical a 我是否必须以某种方式转义 orderProp title 中的 title 在我的控制器中 scope orderProp title scope setOrd
  • 平静的 POST 响应的“最佳”实践

    所以这里没有什么新内容 我只是想得到一些澄清 似乎在其他帖子中找不到任何澄清 我正在平静地创建一个新资源 说 books POST 与身体 title The Lion the Witch and the Wardrobe author C
  • ASP.NET Core 1.0 Web API 中的简单 JWT 身份验证

    我正在寻找最简单的方法来设置使用 JWT 在 ASP NET Core 又名 ASP NET 5 中进行身份验证的 Web API 服务器 这个项目 博客文章 http www codeproject com Articles 369657
  • 取消嵌套 ng-click 调用之间的事件传播的最佳方法是什么?

    这是一个例子 假设我想要像很多网站一样有一个图像叠加层 因此 当您单击缩略图时 整个窗口上会出现黑色覆盖层 并且图像的较大版本位于其中的中心 单击黑色覆盖层可将其关闭 单击图像将调用显示下一张图像的函数 html div class ove
  • 大型 AngularJS 应用程序设计

    我需要关于设计具有多个复杂模块的 AngularJS 应用程序的建议 并根据用户角色在身份验证和授权后加载模块 有些用户可以访问一个简单的模块 有些用户可以访问仪表板 有些用户可以访问 2 个以上的模块 我们已经确定了许多可以在不同模块中重
  • $httpBackend .whenGet 不是 Angular 中的函数

    我正在尝试创建一个虚拟服务来获取 Angular 中的数据 我正在使用 ngMockE2E 我的 Mock 代码如下所示 function use strict var app angular module productResourceM
  • 无法构造 String 类型

    我正在使用 Web api 和 Unity 并且在尝试打开默认 帮助 区域时收到以下错误 InvalidOperationException The type String cannot be constructed You must co
  • 角度剑道下拉

    我正在对许多组件使用 Angular kendo ui 但遇到了一个我似乎无法解决的问题 我有以下角度选择 它工作正常并将所选值正确绑定到 ng model
  • 将对象拖到可排序列表中 - AngularJS

    Problem 我正在尝试从 jQuery 重新创建 Draggable Sortable 功能 但无法将删除的元素放入我的对象数组中 我想拖一个 draggable 按钮进入 sortable 列表 我希望按钮代表一个具有属性的对象 可以
  • 使用 NodeJS、Express 和 Passport-ldapauth 进行 LDAP 身份验证

    我在使用标题中提到的工具 应用程序对 Active Directory 服务器进行身份验证时遇到问题 我正在使用测试AD环境发现here http www forumsys com tutorials integration how to
  • Angular 链接函数:$Scope 与 Scope

    在我在教程中看到的角度指令中 link function scope element attrs or link function scope element attrs 现在我知道 意味着角度服务 这在这里成立吗 scope 和scope
  • 有没有办法用异步数据更新过滤器

    我已经构建了下一个角度过滤器 App filter cur2symbol CurrenciesService function CurrenciesService return function input iso input input
  • 关闭特定url上的AngularJS窗口

    我是 angularjs 的新手 所以这个问题对于经验者来说可能看起来很愚蠢 但我真的无法执行此操作 任何人都可以告诉我如何在到达特定网址后从 webview 返回到应用程序 就像我正在打开一个浏览器中的窗口用于支付过程 所以我需要的是 当
  • 需要参考$log.log调用行号

    当我使用 Angular log 服务时 控制台中的所有行都会显示对 angular js 5687 的引用 而不是我调用 log log 函数的行 如何获得对我调用 log 的行的引用 另外 我有自己的围绕 log 的服务 如何引用对我的

随机推荐

  • 正则表达式 javascript 中仅排除 0

    我想创建一个正则表达式 它将采用一到十个数值 但如果只提供 0 则它不应该接受 例如 1 is valid input 1111123455 is valid input 01 is valid input 010 is valid inp
  • 如何使用 Java DeflaterOutputStream

    编辑 我真的只需要知道 Deflater 派生类何时决定写入页眉和页脚数据 以及如何利用这些事实 我真的很想做以下事情 用一些字节为 Deflater 派生类准备字典 我想我明白了 发送一些要压缩的数据到 Deflater 派生类 我想我明
  • 填充第二个选择框 - 绑定问题

    我使用以下代码用城市填充第二个选择框 jQuery country live change function populateCityListBox alert jQuery select city val function populat
  • Objective-C 从自定义单元格访问方法

    好吧 这可能是一个新手问题 但我需要帮助 我有一个 someview m 其中有一个在 customCell h 和 m 中定义的自定义单元格 所以在 someview m 我有 UITableViewCell tableView UITa
  • 如何在php中创建hmac md5?

    我正在使用 payU 信用卡系统 但我没办法 payU 告诉我必须创建 hmac md5 哈希值 我的密钥是 3 9 X4 660 ak h6 T 我想转换为 HMAC MD5 哈希 8GEMISEPE6208617192012 12 15
  • 创建文件夹并使 ES File Explorer 添加我的应用程序的图标

    我想将文件夹与我的应用程序关联起来 就像 WhatsApp 和 Viber 那样 我尝试创建文件夹 File folder new File Environment getExternalStorageDirectory getPath M
  • 注释可以出现在 DOCTYPE 声明之前吗?

    我想发表评论 style 位于 HTML 代码的最顶部 位于 DOCTYPE 声明之前 这符合标准吗 主流浏览器都支持吗 这样做有什么陷阱吗 It is 完全有效 to do However 带来allIE 版本怪癖模式 除非是forced
  • 如何避免 Xstream 生成带有 & 或 "e 或类似字符的 xml 文件?

    我开始工作Xstream与Java 我有一个名为的汽车列表CarList 我有一辆汽车作为一个名为Car XStream xstream new XStream new StaxDriver xstream alias Car Car cl
  • 使用 Rvest 抓取包含多个表的 URL

    我正在尝试学习如何做一些scraping使用 rvest 包 我正在用这个url加载信息 我试图获取 URL 中标记为 高级 的表的信息 当我尝试加载信息时 我所能得到的只是第一个表 我的意思是 当我使用谷歌浏览器检查时 我看到表中的数字被
  • 在 XSLT v1.0 中使用以结尾

    我正在尝试编辑当前的 XSLT 我想要的功能是当 code no 的值以01结尾时我想编辑当前城市位置 目前此功能不存在 我尝试过使用字符串和子字符串 但它给了我一个错误 说结尾功能不存在 请帮忙 来自 xml 的值是
  • 使 Android 模拟器适用于 1600x1200

    我尝试在模拟器中将 Android 的皮肤布局编辑为 1600x1200 但模拟器无法打开窗口 它适用于较小的分辨率 如 1024x480 等 但不适用于大分辨率 尽管即使使用 1024x480 模拟器窗口的一部分也无法访问且不可见 我的问
  • PHP 编码电子邮件地址

    我需要一条路PHP仅使用对电子邮件地址进行编码a zA Z0 9所以基本上编码时没有任何特殊字符 但随后能够将其解码回原始内容 Example email protected gt ENCODE gt n6bvJjdh7w6QbdVB373
  • NodeJS并行回调设计模式

    我正在尝试找到一个好的模式来执行一堆并行任务 让我定义一些任务来举例说明 任务a b c d e f g执行为a function er ra task a returned ra is result so do b to g 还有一些任务
  • Webpack 反应热加载程序不工作

    下面是我的 webpack config js 代码 var webpack require webpack var path require path module exports context dirname app entry we
  • 右栏按钮项目不显示

    我有以下用于放置 rightbarbuttonitem 的代码 UIButton rightbutton UIButton buttonWithType UIButtonTypeCustom rightbutton setBackgroun
  • 某些 JSON 文件出现 PowerShell FilterScript 错误

    感谢 iRon 本周早些时候提供的帮助question 他对我目前正在进行的一项工作提供了巨大帮助 总之 我们有一个 Azure CICD 管道来部署策略 我们有一个包含 200 多个 JSON 策略文件的文件夹 CICD 流程将它们全部放
  • 使用 to_html 将 CSS 类应用到 Pandas DataFrame

    我在使用 Pandas to html 方法应用 classes 参数来设置 DataFrame 样式时遇到问题 类 str或列表或元组 默认无 应用于生成的 html 表的 CSS 类 从 https pandas pydata org
  • 递归 mod_rewrite 用于搜索引擎友好的 url

    我一直在读以前的解决方案递归 mod rewrite 问题与我想要做的类似 不同之处在于我通过 index php 文件发送所有查询 因此不需要在查询中指定脚本 本质上我想递归地转换搜索引擎友好的 URL 中的任意数量的参数 example
  • 文本框中的永久前缀

    我试图在文本框中输入永久前缀 就我而言 我想要有以下前缀 DOMAIN 这样用户只需在域前缀后输入用户名即可 这不是我必须做或追求的事情 但我的问题更多是出于好奇 我试图想出一些逻辑来做到这一点TextChangedEvent但是 这意味着
  • AngularJS 应用程序的 AssertionUrl

    我的申请流程是这样的 用户输入 Url 然后显示 AngularJS 登录页面 用户单击 使用 SAML 登录 并调用返回 SAML 登录 URL 的 Web API 端点 AngularJS UI 接收 SAML 登录 URL 并将用户重