使用 Azure Active Directory - 一个用于本地登录和发布时登录的应用程序

2023-11-26

我正在使用 Azure Active Directory 身份验证构建 MVC 应用程序。当我在本地开发时,我希望能够登录以进行测试/开发。应用程序网址就像http://localhost:43400。这也被编码在 AD 应用程序中Sign-On Url and Reply Url.

当我将相同的应用程序部署到服务器时,应用程序 url 发生更改 - 变成类似myappname.azurewebsites.net我无法使用相同的 AD 应用程序登录。我能做到的最好办法就是完成登录过程,但随后 AD 将我重定向回localhost:43400这是错误的。

PostLogoutRedirectUri财产在Startup.Auth.cs我给了应用程序,但这根本没有区别。

有没有办法让本地应用程序和部署的应用程序使用相同的 Azure AD?

我可以使用不同的 url 和键执行 2 AND 应用程序,并重写其中的值web.config部署时。但这听起来并不是最好的解决方案。我还能做些什么吗?

UPD

这是我提到的一点Startup.Auth.cs:

app.UseOpenIdConnectAuthentication(
    new OpenIdConnectAuthenticationOptions
    {
        ClientId = clientId,
        Authority = Authority,
        PostLogoutRedirectUri = postLogoutRedirectUri, // <-- this is coming from web.config, different in dev and prod

        Notifications = new OpenIdConnectAuthenticationNotifications()
        {
            .....

        }
    });

查看完整的代码清单here.

And in Azure AD application I tried both addresses as a Reply URL at the same time: Azure AD Application Reply URL

但是,即使客户端指定了与其中一项记录匹配的重定向,AD 也仅使用其中一个地址进行重定向。


您可以向您的应用程序添加多个重定向 uri,这就是该属性以列表形式实现的原因!您只需确保指定在运行时使用哪个 URI。您可以通过多种方式做到这一点 - 您可以在中间件初始化时指定返回 URI,也可以添加动态代码以在登录消息中注入重定向 URI。有关后一种方法的示例,请参阅中的 RedirectToIdentityProviderhttps://github.com/AzureADSamples/WebApp-MultiTenant-OpenIdConnect-DotNet/blob/master/TodoListWebApp/App_Start/Startup.Auth.cs

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

使用 Azure Active Directory - 一个用于本地登录和发布时登录的应用程序 的相关文章

  • 为什么两个不同的 Base64 字符串的转换会返回相等的字节数组?

    我想知道为什么从 base64 字符串转换会为不同的字符串返回相同的字节数组 const string s1 dg const string s2 dq byte a1 Convert FromBase64String s1 byte a2
  • asp.net core / kestrel中的线程管理

    我正在解决我们已迁移到 asp net core 2 0 的 asp net 应用程序的性能 可扩展性问题 我们的应用程序作为应用程序服务托管在 azure 上 并且在任何中等流量的情况下都很容易崩溃 让我困惑的一件事是如何处理多个并发请求
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • Azure 搜索 .net SDK-如何使用“FindFailedActionsToRetry”?

    使用 Azure Search net SDK 当您尝试对文档建立索引时 可能会遇到异常IndexBatchException 从这里的文档 https azure microsoft com en us documentation art
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 重载<<的返回值

    include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 正则表达式模式可选字符[重复]

    这个问题在这里已经有答案了 我想匹配像 19740103 0379 或 197401030379 这样的字符串 即破折号是可选的 我如何使用正则表达式来实现这一点 通常你可以只使用 或者 您可以使用 0 1 但你应该发现 因为几乎所有地方都
  • 别名资源 (WPF)

    我试图在 XAML 中为资源添加别名 如下所示
  • 从电话号码中提取代码国家/地区 [libphonenumber]

    我有一个这样的字符串 33123456789 法国电话号码 我想在不知道国家 地区的情况下提取国家 地区代码 33 例如 如果我有另一部来自其他国家 地区的手机 它应该可以工作 我使用谷歌图书馆https code google com p
  • matlab中如何判断一个矩阵是否为空?

    在我的 matlab 程序中 我想在进一步操作之前确定变量或函数的输出是否为空 实际上 我已经编写了一个计算两条线段之间的交点的函数 如果没有交集 则函数不返回任何内容 因此函数分配的变量将为空矩阵 我知道我可以使用size功能 但有没有更
  • 有没有办法使用 javascript 检测元素所在的 CSS 网格列和行?

    有没有一种方法可以在 JavaScript 中动态检测 CSS 网格中元素所在的网格列和行 我有一个网格 我设置了三个断点 使其具有 4 3 或 2 列 我想要做的是 如果用户单击某个单元格 则将单元格中的新元素立即动态覆盖到被单击的单元格
  • 如何检测 jQuery 中新元素的创建?

    假设我有以下代码 它返回页面上锚元素的数量 function getLinkCount alert Links a length 如果我在文档准备好后调用它 它将按预期工作 但是 如果现在通过 Javascript 动态地将新链接插入到页面
  • 在 Android Studio 1.3+ 自动完成中隐藏 android.R 资源

    是否可以将Android Studio配置为仅显示 drawable里面的资源project folder 我正在做的项目是一个行业项目 很少需要我使用R资源 我不认为你实际上可以做到这一点 只有库开发人员可以选择将资源隐藏在他们的aar分
  • 函数不改变传递的指针 C++

    我有我的职责并且我正在充实targetBubble那里 但调用这个函数后它没有被填充 但我知道它被填充在这个函数中 因为我有输出代码 bool clickOnBubble sf Vector2i mousePos std vector
  • 对 PHP 的非阻塞 Ajax 请求

    我正在使用 PHP 从远程服务器下载一个 大 文件 并且通过单击网页上的下载按钮来触发此下载 所以当我点击download网页上的按钮 然后Ajax请求 有角度 http 被制作为 PHP 函数 该函数使用触发下载cURL 同时 我想使用
  • 如何在 PHP 中创建一个带有反斜杠的字符串? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我需要一个反斜杠作为字符串的一部分 我该怎么做 当反斜杠 不转义字符串的终止引号或以其他
  • 查找与给定条件匹配的元素的索引

    给定一个数组 如何找到与给定条件匹配的元素的所有索引 例如 如果我有 arr x o x o x 查找该项目所在的所有索引x 我可以做 arr each with index map a i a x i nil compact gt 0 2
  • 可以使用异常来检查数组边界吗?

    我想检查给定的坐标是否在数组内 public boolean checkBounds int x int y try Object val array x y return true catch ArrayIndexOutOfBoundsE
  • 将图像从 URL 加载到表视图单元格中的图像视图的更快方法

    我用它来加载 URL 到图像视图 let url NSURL string URL let data NSData contentsOfURL url self releasephoto image UIImage data data 但是
  • 检测当前 iPhone 输入语言

    有谁知道 我可以获得iPhone应用程序中当前的输入语言和 或键盘布局吗 输入语言更改时我还能收到通知吗 在 iOS 4 2 及更高版本中 您可以使用UITextInputMode类来确定当前用于文本输入的主要语 言 UITextInput
  • 使用 roxygen2 构建 R 包时出错

    我有 2 个文件 File R 和 Cpp File c Cpp File c 中的内容 include
  • 如何编写线程安全的自动化测试

    我有一个不是线程安全的类 class Foo Abstract base class code which is not thread safe 此外 如果您有 foo1 和 foo2 对象 则在 foo2 gt anotherFunc 返
  • 构建适用于 Android 的 OpenCV 并将其与 NDK 一起使用

    背景 我目前正在 Android Studio 上为 Moverio BT 200 增强现实眼镜开发一个应用程序 我正在使用 OpenCV 特别是该库的 arUco 模块 该模块必须与 NDK 一起使用 另外 它不在稳定版本中 所以我自己编
  • 使用 if/else 或字典更好的优化技术

    哪个优化更好 接收 字符串 的一系列 if else 语句会为其返回适当的函数 大约 40 50 个 if else 语句 维护键值对的字典 键作为字符串 值作为函数对象 以及一个用于搜索和返回函数对象的主函数 使用上述方法实际返回函数对象
  • 从 4 个角颜色插值的二维色带(256x256 矩阵)

    我想要实现的是以编程方式创建由 256x256 颜色值矩阵表示的二维色带 预期结果可以在附图中看到 我的起点是矩阵的 4 个角颜色 应从中插值中间剩余的 254 种颜色 虽然我在对一个轴的颜色进行插值方面取得了一些成功 但二维计算却给我带来
  • 使用 Azure Active Directory - 一个用于本地登录和发布时登录的应用程序

    我正在使用 Azure Active Directory 身份验证构建 MVC 应用程序 当我在本地开发时 我希望能够登录以进行测试 开发 应用程序网址就像http localhost 43400 这也被编码在 AD 应用程序中Sign O