PowerBI REST APIを使用してPowerBIレポートを表示するためのテストasp.net mvcアプリケーションを作成しました。私はAzure Active Directory認証をサイトの認証メカニズムとして使用しています。 Power BI APIにアクセスするために、MVC Azure AD認証フレームワークの資格情報を再利用する方法はありますか?現在、アプリケーションがアプリケーションのアクセストークンを取得する要求を出すと、ユーザーは再度ログインする必要があります。PowerBI REST APIを使用するとシングルサインオン
1
A
答えて
0
Azure ADで認証するときにトークンを戻す必要がある場合は、Token Cacheを使用して、後で使用するためにユーザートークンを保存できます。 powerbi apiのアクセストークンを取得する必要がある場合、戻ってきた最初のトークンからリフレッシュトークンを使用することができます。
public JsonResult GetPowerBiToken()
{
var clientId = ConfigurationManager.AppSettings["ida:ClientId"];
var appKey = ConfigurationManager.AppSettings["ida:ClientSecret"];
var aadInstance = ConfigurationManager.AppSettings["ida:AADInstance"];
var tenantId = ConfigurationManager.AppSettings["ida:TenantId"];
string Authority = aadInstance + tenantId;
var claim = CurrentUserClaims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier);
AuthenticationContext authContext = new AuthenticationContext(Authority, new AdalTokenCache(claim.Value));
var refresh_token = authContext.TokenCache.ReadItems().FirstOrDefault().RefreshToken;
ClientCredential credential = new ClientCredential(clientId, appKey);
var resp = authContext.AcquireTokenByRefreshToken(refresh_token, credential, "https://analysis.windows.net/powerbi/api");
return Json(new { Token = resp.AccessToken }, JsonRequestBehavior.AllowGet);
}
希望します。
1
この問題を解決するには、https://github.com/Azure-Samples/active-directory-dotnet-graphapi-webの例をご覧ください。彼らはAADに対して認証するためのコードを示し、トークンを使ってgraphAPIにアクセスします。彼らのアプローチを使って、トークンを使ってPowerBI APIにアクセスしました。
関連する問題
- 1. PowerBIを使用してMicrosoft Cluster APIを使用する
- 2. REST APIとメッセージングを使用するマイクロサービス
- 3. ADを使用するPowerBI
- 4. PowerBi Embeddedレポート用に非対話的にAzure REST APIを認証するときに403を禁止する
- 5. Pythonを使用したPower BI REST API
- 6. Android Facebook APIシングルサインオン?
- 7. NServiceBusとREST APIを使用したアプリケーションアーキテクチャ
- 8. Appcelerator - REST APIを使用
- 9. スクライブを使用してgoogle apiのシングルサインオンですか?
- 10. Neo4J REST APIを使用する
- 11. AngularJSでREST APIを使用する例
- 12. Jira REST APIを使用する
- 13. RestSharpをGerrit REST APIで使用する
- 14. DoctrineをREST APIで使用する
- 15. クレジットカードトークンを使用するrest api paypal
- 16. Angular2 HttpClientがRest APIを使用する
- 17. JavaでREST APIを使用する
- 18. .NETからRESt APIを使用する
- 19. Zuora Rest APIをRで使用する
- 20. ReactJSとExpressを使用したシングルサインオン
- 21. D2LでREST APIを使用するとユーザーがログアウトする
- 22. ホステッドサービスを使用したシングルサインオン
- 23. Jersey REST API:Mavenを使用して、ジャージを使用するREST APIで、java.lang.NoSuchMethodError:org.glassfish.jersey.message.filtering.EntityFilteringFeature.enabled
- 24. Jira Rest APIの使用
- 25. EurekaをREST APIを使用したレジストリとして使用
- 26. Office/Outlook WebセッションでMicrosoft Graph APIを使用してシングルサインオン(SSO)を使用する方法?
- 27. PlotlyとAngularJSを使用してREST API応答をプロットする
- 28. IdとOutlook REST APIを使用してメールアイテムを取得する
- 29. OAuth2とZF3-MVCを使用してREST APIを保護する
- 30. WSフェデレーション(シングルサインオン)モジュール - SSLオフロードを使用するとリダイレクトする
ありがとう、@JustLogic。あなたのアプローチを実装しようとしたところ、RefreshTokenプロパティがauthContext.TokenCache.ReadItems()。FirstOrDefault()に存在しないことがわかりました。私はその後、別のアプローチを使用しました(私の答えを見てください)。 – tjuni