【问题标题】:IBM Cloud App ID' s custom identity flow:InternalOAuthError occursIBM Cloud App ID 的自定义身份流:InternalOAuthError 发生
【发布时间】:2019-06-06 16:23:00
【问题描述】:

我使用 IBM Cloud App ID'并且我想使用 LinkedIn 作为提供商。 但是,“InternalOAuthError”在应用审批时发生。

IBM Cloud 博客上有一个示例。
Sign In Your App Users With Any Identity Provider Using App ID
我沿着这个流程尝试了示例应用程序。登录LinkedIn好像成功了,但是app批准的时候出现如下错误。

InternalOAuthError: failed to fetch user profile
    at _oauth2.get (C:\xxx\AppIdCustomIdentity\node_modules\passport-linkedin-oauth2\lib\oauth2.js:70:23)
    at passBackControl (C:\xxx\AppIdCustomIdentity\node_modules\oauth\lib\oauth2.js:132:9)
    at IncomingMessage.<anonymous> (C:\xxx\AppIdCustomIdentity\node_modules\oauth\lib\oauth2.js:157:7)
    at IncomingMessage.emit (events.js:187:15)
    at endReadableNT (_stream_readable.js:1094:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)

请帮忙!!



当我尝试这个post,“InternalOAuthError”不再发生。 但是发生了另一个错误。

Error: Failed to obtain tokens
    at Request.request [as _callback] (C:\xxx\AppIdCustomIdentity\node_modules\ibmcloud-appid\lib\token-manager\token-manager.js:118:13)
    at Request.self.callback (C:\xxx\AppIdCustomIdentity\node_modules\request\request.js:185:22)
    at Request.emit (events.js:182:13)
    at Request.<anonymous> (C:\xxx\AppIdCustomIdentity\node_modules\request\request.js:1161:10)
    at Request.emit (events.js:182:13)
    at IncomingMessage.<anonymous> (C:\xxx\AppIdCustomIdentity\node_modules\request\request.js:1083:12)
    at Object.onceWrapper (events.js:273:13)
    at IncomingMessage.emit (events.js:187:15)
    at endReadableNT (_stream_readable.js:1094:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)

【问题讨论】:

    标签: ibm-cloud linkedin ibm-appid


    【解决方案1】:

    正如本文 (https://stackoverflow.com/a/56329029/10422503) 中所建议的,passport-linkedin-oauth2 库似乎尚未针对 LinkedIn 2.0 API 进行更新。尝试使用那里建议的叉子

    【讨论】:

    • 感谢您的帮助。当我尝试时,“InternalOAuthError”不再出现。但是又发生了一个错误。Failed to obtain tokens这是来自 ibmcloud-appid 的令牌管理器的错误。
    • 如果您使用的是App ID v4端点,使用最新的SDK(6.0.0及以上)应该可以解决Error: Failed to obtain tokens
    • 我检查了 ibmcloud-appid 的版本,但它是最新的(6.0.0)。不知道其他可能的原因?
    【解决方案2】:

    查看堆栈跟踪,看起来异常来自 passport-linkedin-oauth2 模块。

    at _oauth2.get (C:\xxx\AppIdCustomIdentity\node_modules\passport-linkedin-oauth2\lib\oauth2.js:70:23)

    谷歌搜索InternalOAuthError: failed to fetch user profile +linkedin 提供了一些您可能想尝试的选项。

    【讨论】:

    • 根据最近在GitHub 的讨论,指定了一个特定的profileField 和范围。我试过了,但我得到了同样的错误。
    猜你喜欢
    • 2019-04-04
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    相关资源
    最近更新 更多