2016-09-28 12 views
2

Azure AD認証を使用してASP MVCでアプリケーションを開発しました。このアプリケーションはPower BIにデータを送信することになっています。私はこのチュートリアルに従おうとしました:https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-register-a-client-app/、それは動作し、ほぼ正確に私が必要としています。OwinのPower Biに対する認証

問題はネイティブアプリ認証を使用しており、私のアプリケーションはウェブアプリです。さらに、私のアプリはすでにAzure ADに対して認証されているので、ユーザーの資格情報をもう一度尋ねる必要はありません。

私は何とか現在のOwin Contextからベアラトークンを取得してPower BIに対して認証することができます。これは正しいのですか?どうすればいいですか?

私のアプリは、AD認証をオンにしたVSテンプレートで生成された簡単なアプリですので、コードを投稿する意味はありません。

更新 ああ、細部の[OK]を少しだけ(あなたがより多く必要な場合は私に知らせて):(VSによって生成された)で 署名は次のとおりです。

if (!Request.IsAuthenticated) 
      { 
       HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" }, 
        OpenIdConnectAuthenticationDefaults.AuthenticationType); 
      } 

認証タイプは"OpenIdConnect"

です

Startup.Auth.csは次のとおりです。

app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); 

app.UseCookieAuthentication(new CookieAuthenticationOptions()); 

app.UseOpenIdConnectAuthentication(
       new OpenIdConnectAuthenticationOptions 
       { 
        ClientId = clientId, 
        Authority = authority, 
        PostLogoutRedirectUri = postLogoutRedirectUri 
       }); 

もう1つ、私はポストからはっきりしているかどうかはわかりません。私の目的は、現在ログインしているユーザーの資格情報でPowerBiを認証することです。私のシステムの各ユーザは、Webアプリケーションに表示する独自のレポートを持っています

答えて

0

クライアントアプリケーションをPower BIに登録するのではなく、Authenticate your web appまたはAzure Active Directory tenantに行く必要があります。

チュートリアル

Authenticate your web app

Azure Active Directory tenant

サンプルアプリケーション

https://github.com/Microsoft/PowerBI-CSharp/tree/master/samples/webforms/get-started-web-app-asp.net

+1

私はそれらのチュートリアルを見て、私はちょうどunderstanなかったように見えましたdそこに起こっていたこと。私は2回認証をしたくなかったし、 'https:// login.windows.net/common/oauth2/authorize /'へのリダイレクトは常に必須認証を実行すると思ったが、そうではないようだ。アプリケーションが既に認証されている場合、このURLへのリダイレクトは、認証画面全体をスキップする 'redirectUri'にリダイレクトされるので、これはまさに私が探していたものです – Archeg