Ich habe eine Anwendung mit ASP MVC mit Azure AD-Authentifizierung entwickelt. Diese Anwendung soll Daten in Power BI veröffentlichen. Ich habe versucht, diesem Tutorial zu folgen: https://powerbi.microsoft.com/en-us/documentation/powerbi-developer-register-a-client-app/, es funktioniert und es ist fast genau das, was ich brauche.Authentifizierung gegen Power Bi in Owin
Das Problem ist, dass es Native App-Authentifizierung verwendet, und meine Anwendung ist eine Webanwendung. Darüber hinaus ist meine App bereits gegen Azure AD authentifiziert, und ich möchte die Anmeldeinformationen des Benutzers nicht zum zweiten Mal anfordern.
Ich nehme an, dass ich Bearer-Token irgendwie aus dem aktuellen Owin-Kontext abrufen kann, und verwende es zur Authentifizierung gegen Power BI. Ist das korrekt und wie kann ich es tun?
Meine App ist eine einfache App, die von VS-Vorlage mit aktivierter AD-Authentifizierung generiert wird, so dass es keinen Sinn macht, Code zu posten.
Aktualisiert Ah, ok nur ein bisschen Details (lassen Sie mich wissen, wenn Sie mehr benötigen): Signing in (erzeugt durch VS):
if (!Request.IsAuthenticated)
{
HttpContext.GetOwinContext().Authentication.Challenge(new AuthenticationProperties { RedirectUri = "/" },
OpenIdConnectAuthenticationDefaults.AuthenticationType);
}
Authentifizierungstyp "OpenIdConnect"
Startup.Auth.cs
ist:
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri
});
Noch eine Sache, ich bin mir nicht sicher, ob es aus der Post klar ist. Mein Ziel ist die Authentifizierung bei PowerBi mit den aktuell angemeldeten Benutzerdaten. Jeder Benutzer in meinem System wird seinen eigenen Bericht in der Web-App
haben
ich diese Tutorials gesehen habe und sieht aus wie ich einfach nicht under d was dort passiert ist. Ich wollte nicht zweimal autorisieren, und ich dachte, dass die Umleitung zu "https: // login.windows.net/common/oauth2/authorize /" immer eine obligatorische Autorisierung durchführt, aber es scheint, dass dies nicht der Fall ist. Falls die App bereits authentifiziert ist, wird die Umleitung zu dieser URL zurück zu "redirectUri" umgeleitet, wobei der gesamte Autorisierungsbildschirm übersprungen wird, was genau das ist, wonach ich gesucht habe – Archeg