我试图通过传入通过OAuth获得的访问令牌来尝试使用ADOMD连接到Azure Analysis Services,但是无论我设置了哪种权限以及尝试的凭据/令牌的组合如何,它都不会进行身份验证。我想确保我正确理解Azure AS身份验证。
以下是我的身份验证过程:
GET
发出https://login.microsoftonline.com/[tenant]/oauth2/authorize
请求,以在前端获得授权令牌。应用ID已发送。提示用户登录。用户在另一个文本字段中输入数据源主机。POST
请求以使用授权令牌和主机后端。POST
发送https://login.microsoftonline.com/[tenant]/oauth2/token
请求以获取访问令牌。它发送应用程序ID,应用程序密钥,授权类型,代码和重定向URI。可从API获取访问令牌和刷新令牌。Provider=MSOLAP;Data Source={host};Initial Catalog=;User ID=;Password={access_token};Persist Security Info=True;Impersonation Level=Impersonate
。我已经添加了应用服务主体和我要使用SSMS登录到管理员角色的用户。
如果我对连接字符串进行硬编码,将用户名设置为app:{app-id}
,并将密码设置为客户端机密,则可以完美连接。但是,我需要用户身份验证。
我只是不正确理解有关如何使用ADOMD验证用户身份的概念吗?还是在此过程中我做错了什么?