c# - 使用自定义 API 单点登录
问题描述
我想使用我自己的 API 实现单点登录功能。第三方应用程序(Web 应用程序)将调用此 API 并对用户进行身份验证。对于我的 API 和其他应用程序之间的通信,将使用 Web 请求。以下是我为此提供的解决方案,
我在我的应用程序上创建了一个 API,并根据请求值进行身份验证。身份验证成功后,我创建身份验证 cookie 并将其添加到响应中。在另一个应用程序上,我使用了 aHttpWebRequest
并创建了CookieContainer
. 然后我从响应中获取 cookie 并将这些 cookie 分配给Response
.
var response = (HttpWebResponse)http.GetResponse();
foreach (Cookie cook in response.Cookies)
{
Response.Cookies.Add(new System.Web.HttpCookie(cook.Name, cook.Value)
{
Domain = cook.Domain,
Expires = cook.Expires
});
}
在我的测试环境中,这很好用,因为身份验证 API 和其他应用程序都在同一个域中。但在客户测试阶段,由于域不匹配,这不起作用。因为身份验证 API 在不同的域中。
有没有办法解决这个问题?
解决方案
推荐阅读
- html - 这段代码有问题吗?我是 html 和 css 的新手
- macos - 我什么时候应该使用 NSURLCanonicalPathKey?
- javascript - 阶乘递归,给出未定义
- keras - 如何从预训练的 ResNet 模型 Keras 的一层中提取特征
- android - 在 Mapview 的地图中心获取纬度/经度
- composer-php - 当 Composer 依赖在版本中发生冲突时,解决方法是什么?
- vue.js - Vue.js 子组件未更新
- java - 使用 Retrofit2 和 RxAndroid 处理条件响应
- node.js - 如何在反应中显示填充的文档
- r - 代码中的 R 预测变量未处理正确答案