当前位置: 首页 > 知识库问答 >
问题:

诺达斯中的护照 OAuth2 策略是否对访问令牌发出自动 POST 请求

刘元青
2023-03-14

passport.js

passport.use(new OAuth2Strategy({
   authorizationURL: ' https://gymkhana.iitb.ac.in/sso/oauth/authorize',
   tokenURL: 'https://gymkhana.iitb.ac.in/sso/oauth/token',
   clientID: process.env.IITB_SSO_CLIENT_ID,
   clientSecret: process.env.IITB_SSO_CLIENT_SECRET,
   callbackURL: "http://192.168.0.111:8080/auth/iitbsso/callback"
},
 function(accessToken, refreshToken, profile, done) {
  console.log(accessToken);
 }

app.js

app.get('/auth/iitbsso', passport.authenticate('oauth2', { scope:'basic'}));
app.get('/auth/iitbsso/callback', passport.authenticate('oauth2', { 
   successRedirect: '/',
   failureRedirect: '/login' 
}), (req, res) => {
   res.redirect(req.session.returnTo || '/');
});

这就是我尝试从服务器获取访问令牌的方式,但是我的服务器卡在 http://192.168.0.111:8080/auth/iitbsso/callback?code=TDPHtfHuKv4HWNhJikkFzNz5bR4fvJ

我在日志中没有定义。

所以我的问题是:1)这个策略是自动发出POST请求,还是必须在回调中显式发出?

POST /sso/oauth/token/HTTP/1.1

主持人:gymkhana.iitb.ac.in

授权:基本认证_TOKEN

content-Type:application/x-www-form-urlencoded;字符集=UTF-8

代码=AUTHORIZATION_CODE

2)如果是这样,那么我如何让它在我的服务器中工作?

共有1个答案

元英朗
2023-03-14

您需要了解验证回调的工作原理。

看看http://www.passportjs.org/docs/configure/

更具体地说,在您的代码中

function(accessToken, refreshToken, profile, done) {
      console.log(accessToken);
      // call done(args) here!
}

来回答你的问题

将为您处理所有脏活累活,访问/auth/iitbsso,然后重定向用户,如/auth/iitbsso/call back中所述

 类似资料:
  • 问题内容: 我正在从客户端向Google oauth 2 API 进行ajax调用以获取访问令牌,但出现以下错误: 对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://blah-blah.com ” 我希望该调用为ajax,以便通过或换句话说,在进行调用时不会打扰用户,我如何获得访问令牌以

  • 问题内容: 我正在使用Firebase电子邮件/密码身份验证。用户成功登录后,我将通过以下方式查询访问令牌: 根据Firebase文档,访问令牌会在1小时后过期。为了处理在我的应用程序中始终具有当前访问令牌的情况,我在寻找解决方案,并且在firebase文档中发现我必须注册Firebase.IdTokenListener来侦听 onIdTokenChanged事件 我的问题是 : onIdToke

  • onIdTokenChanged事件 我的问题是: onIdTokenChanged事件 IDTokenListener 被触发。但这不是我要找的。

  • 问题内容: 是否可以使用每个请求的client_credentials或密码授予类型来生成多个有效的访问令牌? 使用以上授权类型生成令牌仅在每个请求当前令牌过期时才提供一个新令牌。 我可以使用密码授予类型来生成刷新令牌,然后生成多个访问令牌,但是这样做会使以前的所有访问令牌无效。 知道如何更改以允许对/ oauth / token端点的每个请求生成访问令牌,并确保以前的所有令牌都不会无效吗? 以下

  • 自动快照策略即通过设置快照策略周期性的对指定硬盘创建快照。 自动快照策略即通过设置快照策略周期性的对指定硬盘创建快照。建议针对核心业务、数据类业务创建自动快照策略,以加强数据保护。目前仅支持对 云联壹云 、阿里云、腾讯云平台上的硬盘设置自动快照策略。 来源 在云管平台上创建自动快照策略。 同步公有云平台上的自动快照策略,同时将产生一条缓存记录。 各个平台上的自动快照配额如下 在 云联壹云 平台上每

  • 已设置Hashicorp Vault docker容器,但在使用生成的令牌而不是根时,似乎无法获取数据库凭据。 重新创建的步骤: 我创建了最新的容器,获得了根令牌并使用它进行身份验证。 运行以下命令: 我还尝试将“vault write”替换为“vault kv put”,并成功执行所有命令。 所以我叫GEThttp://127.0.0.1:8200/v1/database/creds/Tenan