【问题标题】:Okta - Getting Unknown authentication strategy "oidc" in Express appOkta - 在 Express 应用程序中获取未知身份验证策略“oidc”
【发布时间】:2021-02-23 07:01:35
【问题描述】:

我已完全按照文档 (https://developer.okta.com/blog/2019/05/31/simple-auth-express-fifteen-minutes) 在我的 ExpressJS 应用程序中设置 Okta,但每当我访问 http://localhost:3000/login 时,都会出现此错误。

Error: Unknown authentication strategy "oidc"
    at attempt (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/passport/lib/middleware/authenticate.js:190:39)
    at authenticate (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/passport/lib/middleware/authenticate.js:367:7)
    at /Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/@okta/oidc-middleware/src/connectUtil.js:80:28
    at Layer.handle [as handle_request] (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/express/lib/router/index.js:317:13)
    at /Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/express/lib/router/index.js:275:10)
    at urlencodedParser (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/body-parser/lib/types/urlencoded.js:91:7)
    at Layer.handle [as handle_request] (/Users/student/Projects/week_10/ProcessReviewSite/api/node_modules/express/lib/router/layer.js:95:5)

【问题讨论】:

  • 我得到了这个以及与教程相同的配置。昨天好像还好好的。然后它昨晚在本地主机上停止工作,今天在 azure 主机上停止工作 - 我知道我没有改变任何事情。
  • 我也在 Lambda 上得到这个,但它在本地工作。

标签: express authentication okta


【解决方案1】:

我无法发表评论,但我希望可以提供帮助。 使用您链接的文章中引用的存储库中的代码,我没有错误。 作为参考,here 是 repo 的链接。

确保使用npm install 安装所有软件包,并使用所有环境变量的正确值填充.env 文件,它们是: HOST_URL OKTA_ORG_URL APP_SECRET OKTA_CLIENT_ID OKTA_CLIENT_SECRET OKTA_TOKEN

还要确保 Okta 上的配置是正确的 - 这篇文章有一个关于应该存在的配置的分步指南。

我在不同的上下文中偶然发现了相同的错误,但示例代码可以正常运行,我能够成功登录。

【讨论】:

    【解决方案2】:

    我在本地有这个工作。这是我的 .env(已正确编辑)

    OKTA_ORG_URL=https://dev-69099605.okta.com
    APP_SECRET=<application / session secret>
    OKTA_CLIENT_ID=<client ID>
    OKTA_CLIENT_SECRET=<client secret>
    HOST_URL=http://localhost:8080
    

    然后在 Okta 中,我按照here 的描述创建了一个应用程序。我在“用户同意”下禁用了“需要同意”,并在“登录”下添加了http://localhost:8080/authorization-code/callback 作为登录重定向 URI。我也有 http://localhost:8080/authorization-code/callback 用于“启动登录 URI”。它适用于我的本地。它在 Lambda 中不起作用,但这是另一回事。 :)

    【讨论】:

      猜你喜欢
      • 2019-05-27
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-02
      • 2015-09-10
      • 2018-06-08
      相关资源
      最近更新 更多