小编Сми*_*рий的帖子

如何在不使用对话框的情况下在 Azure Active Directory 中授权?

我的应用程序向所有用户显示我的 power bi 帐户的仪表板,我通过对话框授权 Azure Active Directory 以获取访问令牌。我可以在不使用授权对话框的情况下对我的凭据进行硬编码并获取访问令牌吗?代码。它可以工作,但它正在使用授权对话框。

           var @params = new NameValueCollection
        {
            {"response_type", "code"},
            {"client_id", Properties.Settings.Default.ClientID},
            {"resource", "https://analysis.windows.net/powerbi/api"},
            {"redirect_uri", "http://localhost:13526/Redirect"}
        };


        var queryString = HttpUtility.ParseQueryString(string.Empty);
        queryString.Add(@params);

        string authorityUri = "https://login.windows.net/common/oauth2/authorize/";
        var authUri = String.Format("{0}?{1}", authorityUri, queryString);
        Response.Redirect(authUri);


        Redirect.aspx
        string redirectUri = "http://localhost:13526/Redirect";
        string authorityUri = "https://login.windows.net/common/oauth2/authorize/";

        string code = Request.Params.GetValues(0)[0];

        TokenCache TC = new TokenCache();

        AuthenticationContext AC = new AuthenticationContext(authorityUri, TC);
        ClientCredential cc = new ClientCredential
            (Properties.Settings.Default.ClientID,
            Properties.Settings.Default.ClientSecret);

        AuthenticationResult AR = AC.AcquireTokenByAuthorizationCode(code, new Uri(redirectUri), cc);

        Session[_Default.authResultString] = AR; …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc azure azure-active-directory powerbi powerbi-embedded

2
推荐指数
1
解决办法
1894
查看次数