【问题标题】:ADAL and angularjs WITHOUT .NET generates HTTP 404没有 .NET 的 ADAL 和 angularjs 生成 HTTP 404
【发布时间】:2016-09-19 22:19:21
【问题描述】:

我一直在尝试通过利用来自 .NET sample app 的 AAD 应用程序配置信息将 ADAL 集成到我的 AngularJS SPA 应用程序中,但无法对其进行身份验证。我每次都收到404。

示例应用说明如下:

    Step 2: Register the sample with your Azure Active Directory tenant

    Sign in to the Azure management portal.
    Click on Active Directory in the left hand nav.
    Click the directory tenant where you wish to register the sample application.
    Click the Applications tab.
    In the drawer, click Add.
    Click "Add an application my organization is developing".
    Enter a friendly name for the application, for example "SinglePageApp-DotNet", select "Web Application and/or Web API", and click next.
    For the sign-on URL, enter the base URL for the sample, which is by default https://localhost:44326/.
    For the App ID URI, enter https://<your_tenant_name>/SinglePageApp-DotNet, replacing <your_tenant_name> with the name of your Azure AD tenant.
    All done! Before moving on to the next step, you need to find the Client ID of your application.

    While still in the Azure portal, click the Configure tab of your application.
    Find the Client ID value and copy it to the clipboard.
    Step 3: Enable the OAuth2 implicit grant for your application

    By default, applications provisioned in Azure AD are not enabled to use the OAuth2 implicit grant. In order to run this sample, you need to explicitly opt in.

    From the former steps, your browser should still be on the Azure management portal - and specifically, displaying the Configure tab of your application's entry.
    Using the Manage Manifest button in the drawer, download the manifest file for the application and save it to disk.
    Open the manifest file with a text editor. Search for the oauth2AllowImplicitFlow property. You will find that it is set to false; change it to true and save the file.
    Using the Manage Manifest button, upload the updated manifest file. Save the configuration of the app.
    Step 4: Configure the sample to use your Azure Active Directory tenant

    Open the solution in Visual Studio 2013.
    Open the web.config file.
    Find the app key ida:Tenant and replace the value with your AAD tenant name.
    Find the app key ida:Audience and replace the value with the Client ID from the Azure portal.
    Open the file App/Scripts/App.js and locate the line adalAuthenticationServiceProvider.init(.
    Replace the value of tenant with your AAD tenant name.
    Replace the value of clientId with the Client ID from the Azure portal.

当我配置我的应用时,它看起来像这样:

adalProvider.init(
{
    instance: 'https://login.microsoftonline.com/',
    tenant: 'http://mytenantname.onmicrosoft.com',
    clientId: '000000000-583f-4218-b410-28c2acf00000',
    extraQueryParameter: '12345',
},
$httpProvider
);

但是,当我尝试进行身份验证时,我总是收到一个 404 响应,表明我的应用程序无法识别。知道这里有什么问题吗?

【问题讨论】:

    标签: angularjs adal


    【解决方案1】:

    问题出在租户值上:

    1. 租户属性必须是 URN,而不是 URL,因此不应包含“http://”。
    2. 您必须在 URN 末尾包含应用程序名称,以唯一标识目录中的应用程序。

    试试看它是否有效。

    【讨论】:

    • 说真的!就是这样。固定的! `租户:'mytenantname.onmicrosoft.com/testapp',`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 2010-11-30
    • 2011-06-04
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多