rest - API Rest上的SAML Authentication,打开认证页面
问题描述
我对 SAML 真的很陌生,我必须建立一个 SAML 身份验证系统。我们正在开发 API 平台和 Angular 7+。
一切正常,API 使用 SAML 向 SSO 进行身份验证,客户端使用 JWT 向 API 进行身份验证。
但问题是,当用户未通过 SSO 身份验证时,如何告诉客户端“将用户重定向或打开弹出窗口”到 SSO 身份验证页面。
我搜索了一些答案,但看起来 SAML 身份验证在 Rest API World 中并不是很有名。
提前致谢。
解决方案
我不确定 SAML 是否用于处理 API。据我所知,它旨在与网页一起使用。
您不能只返回 HTTP 401 并将错误处理留给客户端吗?REST 服务不应该将用户重定向到登录页面,因为它是一种资源,而不是视图解析器。
编辑: 正如我所见:
- 客户端发送没有 Auth 标头 (JWT) 的 REST 请求
- API 以 401 和 body 回复,
{"error":"auth required","url":"SSO_http_url"}
无需与 SSO 联系 - 客户端必须处理错误 - 将用户重定向到 SSO 服务并获取 JWT 令牌
- 客户端发送具有有效 Auth 标头 (JWT) 的新请求
推荐阅读
- scheme - 在两个列表上运行的函数
- php - 将 codeigniter 系统移至 Amazon AWS 后的 PHP 问题
- c# - 是否可以过滤 ICollectionView 以仅显示子级而不是整个层次结构?
- dataframe - 逐行计算pyspark数据帧中的空值数
- php - Ubuntu 18.04 中的 Composer 缺少库
- mysql - MySQL - 平均忽略 Null 并基于工作日
- git - 修复 git repo 中移动的子模块?
- python - 关于研究和索引的python问题
- sql - BigQuery SQL 错误:在 [9:15] 内未找到最新的名称排名
- c++ - 每个项目可以有多个非唯一键的容器(c++17)