2016-09-19 48 views
1

我一直试图通过利用来自.NET sample app的AAD应用程序配置信息将ADAL集成到我的AngularJS SPA应用程序中,并且无法让它进行身份验证。我每次都得到404。ADAL和angularjs WITHOUT .NET生成HTTP 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应答我的应用程序无法识别。任何想法这里有什么错误?

回答

0

的问题是在承租人值:

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

试试看看它是否有效。

+0

认真!就是这样。固定! 'tenant:'mytenantname.onmicrosoft.com/testapp',' –