2016-09-29 27 views
5

開発中の新しいページにAzure Active Directory B2Cを実装しようとしていますが、私のページからサインインしようとしたときに404 - File or directory not foundエラーが発生します。Azure Active Directory B2Cを実装しようとすると404エラーが発生する

私は、私のアプリを登録したテナントに、自分のポリシーを作成しました。私はAzureのポータルからそれらを多く問題なくテストすることができます。しかし、私はofficial tutorialの指示に従って、私のページのポリシーを無駄に実装しました。何かが欠落しているかのように404エラーが表示されます。
私はそこに掲載されたコードをダウンロードしても動作します!

両方のコードを比較しようとしましたが、実際には違いは見られませんでした。しかし、私はあなたがこれで私を助けることができることを望んで私のコードをここに貼り付けています。

WEB.CONFIG

<add key="ida:Tenant" value="PlataformaXXX.onmicrosoft.com" /> 
<add key="ida:ClientId" value="84d2a6e6-4cac-4c53-a5ff-XXXXXXXXXXXX" /> 
<add key="ida:AadInstance" value="https://login.microsoftonline.com/{0}/v2.0/.well-known/openid-configuration?p={1}" /> 
<add key="ida:RedirectUri" value="https://localhost:59744/" /> 
<add key="ida:SignUpPolicyId" value="B2C_1_Sign_Up" /> 
<add key="ida:SignInPolicyId" value="B2C_1_Sign_In" /> 
<add key="ida:UserProfilePolicyId" value="B2C_1_Edit" /> 

STARTUP.AUTH.CS

public partial class Startup 
{ 
    // App config settings 
    private static string clientId = ConfigurationManager.AppSettings["ida:ClientId"]; 
    private static string aadInstance = ConfigurationManager.AppSettings["ida:AadInstance"]; 
    private static string tenant = ConfigurationManager.AppSettings["ida:Tenant"]; 
    private static string redirectUri = ConfigurationManager.AppSettings["ida:RedirectUri"]; 

    // B2C policy identifiers 
    public static string SignUpPolicyId = ConfigurationManager.AppSettings["ida:SignUpPolicyId"]; 
    public static string SignInPolicyId = ConfigurationManager.AppSettings["ida:SignInPolicyId"]; 
    public static string ProfilePolicyId = ConfigurationManager.AppSettings["ida:UserProfilePolicyId"]; 

    public void ConfigureAuth(IAppBuilder app) 
    { 
     app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); 

     app.UseCookieAuthentication(new CookieAuthenticationOptions()); 

     // Configure OpenID Connect middleware for each policy 
     app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(SignUpPolicyId)); 
     app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(ProfilePolicyId)); 
     app.UseOpenIdConnectAuthentication(CreateOptionsFromPolicy(SignInPolicyId)); 
    } ... 

コードの他のチャンクが必要とされている場合は、私に教えてください。

本当にありがとうございました。

よろしくお願いします。

答えて

13

私も同じ問題を抱えていました。あなたがチェックできることのいくつかは以下のとおりです。

  • はあなたのWebConfig内とアズールAD 内のポリシーの名前が

  • がいることを確認し、正しい大文字/小文字を含め、まったく同じであることを確認しますAadInstanceは、あなたがowinとmicrosoft.identitymodel.protocol.extensionsライブラリの最新バージョン( NuGetからそれらを再読み込み示唆)

    を持っていることを確認し、最後のスラッシュ(/)

  • を持っています

    • この最後の1つは、私が最も難しい時間を見つけたという問題です。 ブラウザの結果のURLに2つの疑問符が含まれている場合は、 これが修正点です。あなたが.auth使用しようとしている場合
+0

何を言ったのですか? – dstrockis

+3

この返信は遅れて申し訳ありません。 Extensionsパッケージが不足していて、インストールしてWebGreaseとAntlrパッケージを更新した後、すべてがスムーズになりました。ありがとう! –

+2

私はmicrosoft.identitymodel.protocol.extensionsを更新しなければならず、問題が修正されました。ありがとう! – Bryan

1

/私はあなたのストアトークン認証の設定で有効になっていることを確認してください。それ以外の場合は404になります:)

関連する問題