c# - 在 .NET C# 中使用 MSAL 在 Azure AD B2C 中执行自定义策略流
问题描述
我目前正在使用 OpenIdConnect 为我的 Azure B2C 自定义策略执行 HTTP GET 请求。例如这里是统一的 SignInSignUp:
public static void Unified(HttpRequest Request, HttpResponse Response)
{
string nonce = "defaultNonce";
string clientID = ConfigurationManager.AppSettings["aad.clientid"];
string authUrl = ConfigurationManager.AppSettings["aad.authUrl"];
string redirectUri = ConfigurationManager.AppSettings["aad.redirecturi"];
string unifiedPolicy = ConfigurationManager.AppSettings["aad.unifiedPolicy"];
// build url for AAD auth and redirect to ourself
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0}?", authUrl);
sb.AppendFormat("p={0}", unifiedPolicy);
sb.AppendFormat("&client_id={0}", clientID);
sb.AppendFormat("&redirect_uri={0}", redirectUri);
sb.AppendFormat("&nonce={0}", nonce);
sb.AppendFormat("&scope=openid");
sb.AppendFormat("&response_type=id_token");
sb.AppendFormat("&prompt=login");
sb.AppendFormat("&response_mode=form_post");
// redirect to auth via AAD (and then redirect back to ourself)
Response.Redirect(sb.ToString(), true);
}
我想改用 MSAL,但找不到执行 HTTP GET 请求的 C# .NET 示例,就像我使用 OpenIdConnect 所做的那样。我目前的技术可以很好地返回 id_token,但我想利用 MSAL 的缓存等功能。
周围有这样的样本吗?
解决方案
我想将此添加为评论,但系统显示它太长了。所以我想回答我的问题,因为我确实找到了一些示例代码(在我上面对自我的评论中提到)帮助我开始使用~MSAL.net。但是我遇到了许多问题(例如,当我调用我的编辑配置文件自定义策略时,我得到的声明集非常不完整,使用 OpenIdConnect 我得到了所有声明)和问题,并且可能会发布另一个更具体的问题,列出我的要求。我真的只需要 id_token(我在上面发布的 OpenId Connect 代码非常适合),而不是访问或刷新令牌,我真正需要做的就是验证 id_token 并实施 KMSI(让我登录)策略. 我在我的自定义登录策略中添加了 B2C KMSI,但看不到如何在我的 web (asp. 网络表单)网络项目。目前(不使用 Azure)我的网站上有一个“记住我”复选框,我编写了一个 30 天滚动到期的持久 cookie,其中包含加密数据,一切都按要求运行;我正在尝试迁移到 Azure B2C 并保持一切正常。此外,为了验证令牌,我正在使用我在此处的帖子中找到的一些代码,这些代码使用低级代码(System.Security.Cryptography 命名空间)并且验证良好,但我看不到如何验证我看到的文档中推荐的少数声明。因此,我将创建一个新帖子来询问所有这些。谢谢。我网站上的复选框,我编写了一个 30 天滚动到期的持久 cookie,其中包含加密数据,一切都按要求运行;我正在尝试迁移到 Azure B2C 并保持一切正常。此外,为了验证令牌,我正在使用我在此处的帖子中找到的一些代码,这些代码使用低级代码(System.Security.Cryptography 命名空间)并且验证良好,但我看不到如何验证我看到的文档中推荐的少数声明。因此,我将创建一个新帖子来询问所有这些。谢谢。我网站上的复选框,我编写了一个 30 天滚动到期的持久 cookie,其中包含加密数据,一切都按要求运行;我正在尝试迁移到 Azure B2C 并保持一切正常。此外,为了验证令牌,我正在使用我在此处的帖子中找到的一些代码,这些代码使用低级代码(System.Security.Cryptography 命名空间)并且验证良好,但我看不到如何验证我看到的文档中推荐的少数声明。因此,我将创建一个新帖子来询问所有这些。谢谢。看不到如何验证我看到的文档中推荐的少数声明。因此,我将创建一个新帖子来询问所有这些。谢谢。看不到如何验证我看到的文档中推荐的少数声明。因此,我将创建一个新帖子来询问所有这些。谢谢。
推荐阅读
- flutter - 颤振屏幕导航
- flutter - 如何使用颤振在oneSignal中查看特定用户的通知历史记录
- html - 如何在 html 中动态添加预览或选择字体以获取 google app script html 文件中的字体大小和字体类型
- node.js - 如何在 Nodejs 中使用 gRPC 流式传输字节?
- tensorflow - 我正在读一本关于深度学习的书,但我无法理解这部分关于 Conv2D 的内容
- quarkus - 将 Message 转换为 Multi 时使用 Mutiny 管理确认
- flutter - Flutter apk-release 显示黑屏和灰屏
- python - Python Django 编辑记录功能不适用于 Jquery Ajax
- redux - 在 Next.js / Redux 页面之间切换时页面不断重绘
- c# - 如何在运行时从另一个类中的泛型方法获取类名?