simple-oauth2 在令牌刷新时抛出 "The content-type is not JSON compatible"
simple-oauth2 throws "The content-type is not JSON compatible" on token refresh
我在 this example 中使用 simple-oauth2 来查询 Microsoft Graph。到目前为止一切正常。但是当我尝试刷新访问令牌 var newToken = await storedToken.refresh();
时,出现错误:
The content-type is not JSON compatible
这是在 wreck
的 index.js
中抛出的,似乎 headers 中没有设置 content-type
,而 mode
是设置为 strict
。问题是,我不知道如何更改它或为什么会发生这种情况。它只发生在 refresh()
.
我认为这是配置问题。示例提供配置如下
OAUTH_AUTHORITY=https://login.microsoftonline.com/common
OAUTH_ID_METADATA=/v2.0/.well-known/openid-configuration
OAUTH_AUTHORIZE_ENDPOINT=/oauth2/v2.0/authorize
OAUTH_TOKEN_ENDPOINT=/oauth2/v2.0/token
wreck 使用 Url.URL 将 OAUTH_AUTHORITY
与 OAUTH_TOKEN_ENDPOINT
组合,结果是 https://login.microsoftonline.com/oauth2/v2.0/token
,因此失去 common
。这导致 404
,因此不再有 JSON 响应。
我稍微更改了配置并从相对路径中删除了前导斜杠,并在基础 URL.
中添加了一个尾随斜杠
OAUTH_AUTHORITY=https://login.microsoftonline.com/common/
OAUTH_ID_METADATA=/v2.0/.well-known/openid-configuration
OAUTH_AUTHORIZE_ENDPOINT=oauth2/v2.0/authorize
OAUTH_TOKEN_ENDPOINT=oauth2/v2.0/token
所以OAUTH_TOKEN_ENDPOINT
是相对的。我还没弄清楚为什么它对授权有效,但仍然有效。
我在 this example 中使用 simple-oauth2 来查询 Microsoft Graph。到目前为止一切正常。但是当我尝试刷新访问令牌 var newToken = await storedToken.refresh();
时,出现错误:
The content-type is not JSON compatible
这是在 wreck
的 index.js
中抛出的,似乎 headers 中没有设置 content-type
,而 mode
是设置为 strict
。问题是,我不知道如何更改它或为什么会发生这种情况。它只发生在 refresh()
.
我认为这是配置问题。示例提供配置如下
OAUTH_AUTHORITY=https://login.microsoftonline.com/common
OAUTH_ID_METADATA=/v2.0/.well-known/openid-configuration
OAUTH_AUTHORIZE_ENDPOINT=/oauth2/v2.0/authorize
OAUTH_TOKEN_ENDPOINT=/oauth2/v2.0/token
wreck 使用 Url.URL 将 OAUTH_AUTHORITY
与 OAUTH_TOKEN_ENDPOINT
组合,结果是 https://login.microsoftonline.com/oauth2/v2.0/token
,因此失去 common
。这导致 404
,因此不再有 JSON 响应。
我稍微更改了配置并从相对路径中删除了前导斜杠,并在基础 URL.
中添加了一个尾随斜杠OAUTH_AUTHORITY=https://login.microsoftonline.com/common/
OAUTH_ID_METADATA=/v2.0/.well-known/openid-configuration
OAUTH_AUTHORIZE_ENDPOINT=oauth2/v2.0/authorize
OAUTH_TOKEN_ENDPOINT=oauth2/v2.0/token
所以OAUTH_TOKEN_ENDPOINT
是相对的。我还没弄清楚为什么它对授权有效,但仍然有效。