在Azure应用程序中现有访问令牌过期后如何获取访问令牌

时间:2020-08-20 10:15:02

标签: javascript azure msal

我在Web应用程序中使用的iframe已在Azure中注册,IdP为MS Azure。现在,使用MSAL,我可以使用AcquisitionTokenSilent方法获取access_token和id_token。但是,当access_token过期时,如何从iframe范围(其中MSAL不可用)刷新它。由于这是隐式授予,因此我不持有刷新令牌。

是否可以使用以下任何一种方式获取新的access_token

  1. client_id
  2. client_secret
  3. 旧访问令牌或id_token和raw_id_token

我已经尝试从login.microsoftonline.com尝试使用“令牌”和“授权”端点,但是这些端点无法为我提供新的access_token。

1 个答案:

答案 0 :(得分:0)

您可以使用 iFrame 发送带有用户cookie的silent requests,会话将在其中验证请求并颁发新的访问令牌。如document中所述,您可以使用 prompt = none 选项来完成此操作。

出于安全考虑,建议您使用auth code flow,当您请求令牌时,它将返回刷新令牌给您。