我正在使用Angular 8、microsoft-adal-angular6包登录和ngx-powerbi包嵌入 Powerbi 报告
我已创建 Azure 应用注册并授予 Powerbi API 权限
我正在使用以下配置进行 Azure AD 登录
{
tenant: 'my tenant id',
clientId: 'my client id',
redirectUri: 'http://localhost:4200',
navigateToLoginRequestUrl: false,
cacheLocation: 'localStorage',
postLogoutRedirectUri: 'http://localhost:4200',
tokenUrl: 'https://graph.microsoft.com',
resource: 'https://analysis.windows.net/powerbi/api',
expireOffsetSeconds: 15 * 60
}
我尝试使用以下代码嵌入 powerbi 报告
<ngx-powerbi-component
type="report"
id="my-report-id"
embedUrl="https://app.powerbi.com/reportEmbed?reportId=my-report-id&groupId=my-group-id"
tokenType="Aad"
[accessToken]="token from ADAL"
></ngx-powerbi-component>
我已在 powerbi 端启用服务主体访问
如果我从 Postman 生成 AD 令牌
GET https://login.microsoftonline.com/vca.com/oauth2/token
grant_type=password&client_id=[my_client_id]&client_secret=[my_client_secret]&resource=https://analysis.windows.net/powerbi/api&username=[username]&password=[password]
并使用 ngx-powerbi-component 中的响应令牌,我可以查看报告。
我无法弄清楚如何从 MS ADAL 生成正确的 AD 令牌。