Tag: Azure的主动目录

使用Azure AD时,将用户重定向到自定义登录页面

我正在使用以下代码示例将Azure AD登录插入我的应用程序( https://github.com/AzureADSamples/WebApp-OpenIDConnect-DotNet )。 我发现代码工作得很好,但是如果用户还没有登录或者他们的会话已经过期,我希望能够将用户重定向到自定义登录页面。 然而,我正在努力让这个工作,并想知道这是否确实可行? 是否按设计将用户始终重定向到Azure AD的Microsoft登录页面而不是您自己的自定义页面,或者是否有我错过的设置? 我修改了FilterConfig.cs提供的代码以启用Authorizefilter属性: filters.Add(new AuthorizeAttribute()); 我还在web.config添加了以下内容,但没有效果: 在Startup.Auth.cs文件中,我看不到app.UseOpenIdConnectAuthentication可以进行的任何更改,以允许我设置通用登录页面,因为我可能使用基于cookie的身份validation。

使用Azure Active Directory – 一个应用程序在本地登录和发布时

我正在使用Azure Active Directory身份validation构建MVC应用程序。 当我在本地开发时,我希望能够登录进行测试/开发。 应用程序URL就像http://localhost:43400 。 这也在Sign-On Url和Reply Url中的AD应用程序中编码。 当我将相同的应用程序部署到服务器时,应用程序URL已更改 – 变为类似myappname.azurewebsites.net ,我无法使用相同的AD应用程序登录。 我能管理的最好的办法是通过登录过程,然后AD将我重定向回localhost:43400 ,这是错误的。 Startup.Auth.cs中有PostLogoutRedirectUri属性,我提供给应用程序,但它没有任何区别。 有没有使用相同Azure AD的本地应用程序和已部署应用程序的方法? 我可以使用不同的URL和密钥执行2个AD Applica,并在部署时重写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() { ….. […]

Asp.net Identity使用密码和Azure Active Directory身份validation

我正在使用Asp.net Identity(OWIN)构建ASP.NET MVC 5网站,并希望支持传统的用户名/密码身份validation以及针对Azure Active Directory的身份validation。 此应用程序无需针对Microsoft ID(Live ID),Facebook,Twitter或任何其他外部提供程序进行身份validation。 我找到的最接近的SO问题是: 如何在ASP.NET MVC上执行Azure Active Directory单点登录和表单身份validation 我查看了使用“个人用户帐户”选项以及VS 2015中的“工作和学校帐户”选项创建项目时创建的示例。我的身份validation工作正常; 只有当我尝试将它们结合起来时,我才遇到问题。 在我的Startup_Auth.cs文件中,我正在配置OWIN,如下所示: public void ConfigureAuth(IAppBuilder app) { app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); //app.UseCookieAuthentication(new CookieAuthenticationOptions { }); app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ExternalCookie, LoginPath = new PathString(“/account/sign-in”) }); app.UseOpenIdConnectAuthentication( new OpenIdConnectAuthenticationOptions { ClientId = clientId, Authority = authority, TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters { ValidateIssuer […]

Azure Active Directory Graph Client 2.0 – 上下文当前未跟踪实体

我最近安装了Azure Active Directory Graph Client Library 2.0.2 Nuget包,无法将成员添加到组,无论是将组添加到组还是将用户添加到组我在调用AddLink函数时收到以下错误: “[System.InvalidOperationException] = {”上下文当前没有跟踪实体。“} 我的代码: IGroup group = azureClient.Groups.GetByObjectId(“Guid here”).ExecuteAsync().Result; IGroup groupToAdd = azureClient.Groups.GetByObjectId(“Guid here”).ExecuteAsync().Result; azureClient.Context.AddLink(group, “Members”, groupToAdd); azureClient.Context.SaveChanges(); 我无法在进行Google搜索时找到与Azure Active Directory图形客户端库相关的此错误,因此对此有任何帮助将非常感激。

Azure Active Directory回复URL未按预期工作

我在Azure Active Directory网站配置回复URL中指定了两个URL。 一个在我运行本地代码时重定向到我的localhost环境,一个在我运行prod网站时重定向到我的Azure托管网站。 但Azure Active目录似乎忽略了该设置。 它只使用一个或另一个URL,但不能同时使用两者。 我看到了一个描述问题的链接和一个可能的解决方案,但它对我不起作用。 链接是: Azure AD Single Sign On with multiple environments (Reply URLs) 如何设置Azure Active Directory以重定向到适当的环境?

OAuth2资源所有者密码通过API授予

我目前正在构建一个需要OAuth2的API,但无法找到一个可以通过RESTful API处理原生移动应用中单点登录的库。 大多数我发现只有一个网络弹出窗口,已被否决该项目。 目前正在运行的B2C无法使用ROPG。 有没有办法使用C#.NET和Azure轻松地设置另一个库? 更新: 尝试使用B2C每个Fei Xue回答下面的问题,我们得到了从Microsoft Graph获取访问令牌的重点。 在POST的主体中,我们做了以下事情: resource = https%3A%2F%2FGraph.windows.net&client_id = [B2C设置 – 应用程序 – AppId]&grant_type =密码&用户名= rob%40 [租户] .onmicrosoft.com&密码= [密码]&client_secret = [B2C设置 – 应用程序 – 应用程序密钥 – client_secret] 我们对命名空间的错误是由于我们尝试的用户名。 这是一个使用电子邮件作为用户名的B2C租户,这就是命名空间错误的原因。 我们解决该错误的唯一方法是创建一个B2C用户,其电子邮件地址以租户结尾,如下所示: 抢劫@ [租户] .onmicrosoft.com 我们现在正在获取访问令牌,但该令牌不会使用我们的azure app service api app进行身份validation,这是最初的目标。 我们要完成的是发送对B2C登录有效的用户名和密码,并获得对api应用程序有效的IdToken或Access Token。 api应用程序通过AppA身份validation设置连接到B2C,该设置为AAD配置了客户端ID和来自B2C设置应用程序的秘密设置。 更新: 我们在Azure web api中尝试通过graph.windows.net令牌进行身份validation,我们在https://Graph.windows.net允许的令牌受众中添加了我们的App Service – 身份validation – Active […]

如何使用OAuth 2.0对Azure Active Directory进行身份validation?

我有一个用C#编写的REST API,我需要使用现有的Azure AD服务进行身份validation。 我目前拥有希望进行身份validation的用户的用户名和密码。 我需要使用Azure AD进行身份validation,并从服务器接收访问令牌。 有人可以指点我解释如何做到这一点的一些文章/教程的方向?