带有秘密的Adal-angular app令牌

时间:2018-02-16 10:24:46

标签: reactjs

我有一个应用程序,通过adal-angular从Azure广告获取持有人令牌。 我可以向graph-api提问,以获得我想要的数据。 但现在我想改变这些数据。为此我需要来自azure AD的app令牌。 图api资源是https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/educationschool_update

我的应用是一款使用adal-angular的React应用。

我的应用程序有一个秘密可以做到这一点。 我的问题是,Adal -angular可以给我这个应用程序令牌吗?如果它可能,它怎么能这样做? 下面是我对adal angular的配置。 client_secret是我试图开始工作的..

window.authContext = new AuthContext({
  tenant: 'xxxxx',
  clientId: 'xxxx',
  redirectUri: "http://localhost:3000/",
  client_secret : 'APP SECRET HERE!?!?!?!?!?!?',
  cacheLocation: 'localStorage'
});

这是我为登录人获取令牌的方法。

aquireToken() {
        let header = null;
        window.authContext.acquireToken('https://graph.microsoft.com', (error, token) => {
            header = {
                headers: {
                    Authorization: 'Bearer ' + token
                }
            }
        });
        return header;
    }

1 个答案:

答案 0 :(得分:0)

我认为无法从Web客户端(在浏览器中加载UI)进行操作,因为根据Azure AD CORS策略,只有Authorize端点对Web客户端开放,并且您无法将client_secret发送到Authorize端点。根据文档,没有这样的参数:https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-protocols-oauth-code

即使问了6个月之后,我希望它也会有所帮助