我在Nodejs应用中使用adal-node包来验证Azure AD。 网址:https://www.npmjs.org/package/adal-node
我正在使用acquireTokenWithAuthorizationCode方法获取令牌,它工作正常。 当我的身份验证代码过期时,我想使用下面的代码刷新我的令牌。 authenticationContext.acquireTokenWithRefreshToken(_tokenData.refreshToken,authdata.clientId,authdata.resource,callback)。
但是当我运行这段代码时,它会给我以下错误。 “获取令牌请求返回http错误:400和服务器响应:{”错误“:”invalid_request“,”error_description“:”AADSTS90014:请求正文必须包含以下参数:'client_secret或client_assertion'
该方法不会接受客户端密码作为其参数,但它仍然抱怨它需要客户端密钥。
你能帮忙吗?
由于 阿尼尔
答案 0 :(得分:0)
不幸的是,该库目前不支持您的方案。您正在使用的函数acquireTokenWithRefreshToken适用于不需要客户端密钥的OAuth公共客户端,但您的应用程序是OAuth机密客户端。
我在GitHub仓库中提交了以下问题,以跟踪是否需要添加支持您的方案的新方法。
https://github.com/AzureAD/azure-activedirectory-library-for-nodejs/issues/22