首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure AD +开放ID ->限制登录域

Azure AD +开放ID ->限制登录域
EN

Stack Overflow用户
提问于 2018-05-10 03:48:34
回答 1查看 746关注 0票数 2

我正在尝试为基于asp.net核心的内部业务应用程序配置Open。

由于内部目录版本控制,我无法直接连接到ADFS服务器(没有运行ADFS 2016,因此Open不可用)。有一个目录同步与Azure AD,因此将通过Azure AD认证。

我已经让它工作,然而,由于应用程序的用户将永远只来自一个给定的领域,我想自动通过电子邮件提示。

目前的流程是,点击Azure AD ->进入公司域->,通过内部ADFS服务器-> (域连接机) AD自动登录-> Azure AD ->应用程序。

因为这个应用程序的所有用户都来自同一个域,并且最终通过ADFS服务器,所以我想跳过电子邮件提示符(以确定域的IDP ),所以整个体验是无缝的。

是否有可用于告知Azure AD自动推断公司域的设置或标志?(即contoso.onmicrosoft.com)。我的解决方案基于以下Microsoft示例:

https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect-aspnetcore

它具有“域”配置值,但在代码中任何地方都不使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-10 05:31:53

正如韦恩·杨所强调的。需要添加domain_hint参数。

代码语言:javascript
复制
services.AddAuthentication(options =>
        {
            options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
        .AddOpenIdConnect(options =>
        {
            options.ClientId = azureAdOptions.ClientId;
            options.Authority = $"https://login.microsoftonline.com/{azureAdOptions.TenantId}";
            options.UseTokenLifetime = true;
            options.CallbackPath = "/signin-oidc";
            options.RequireHttpsMetadata = false;
            options.Events.OnRedirectToIdentityProvider += (RedirectContext context) =>
            {
                context.ProtocolMessage.DomainHint = azureAdOptions.Domain;
                return Task.CompletedTask;
            };
        })
        .AddCookie();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50265176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档