如何获取自己帐户的守护程序访问令牌

时间:2020-07-27 11:05:01

标签: authentication outlook microsoft-graph-api msal msal.js

我正在尝试创建一个主要任务是固定约会的网络应用。

我不想访问已登录用户的任何邮件数据。

我只想使用我具有管理员访问权限的Outlook帐户(我的帐户)隐式登录。我想与此帐户建立联系,获取其日历事件并将事件显示给已登录的用户,以便该用户可以选择任何可用位置。

我已经在azure门户中注册了我的应用程序,并提供了所有应用程序权限(我之前也尝试过使用Delegated权限;但是我想委托权限不适用于我的用例)。

此后,我尝试使用以下方法获取个人资料的令牌:

this.http.post(`https://login.microsoftonline.com/f8cdef31-a31e-4b4a-93e4-5f571e91255a/oauth2/v2.0/token`,
      {
        client_id: 'my-client-uuid',
        scope: 'https://graph.microsoft.com/.default',
        grant_type: 'client_credentials',
        client_secret: '****myclientsecret****'
      },
      {
        headers: {
          Host: 'login.microsoftonline.com',
          'Content-type': 'application/x-www-form-urlencoded'
        }
      }
      ).subscribe(resp => {
        console.log(resp);
      });

根据this文章中的建议。

但是,我的请求在执行此操作时失败,并指出当我明确发送请求时,请求正文必须包含'grant_type'。

有人可以建议我如何从Web应用程序中自己的Outlook帐户隐式获取数据。

更新:我使用了this的建议,似乎请求正在处理中。但是,浏览器会抛出CORS错误,提示服务器没有适当的标头。

更新2:找到了link,这似乎可以解决我所面临的确切问题。但是,我已经有了SPA的重定向URI。问题仍然存在。

0 个答案:

没有答案