- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 Passport.js 和 API 的 oauth2-client-password 策略实现 OAuth2 资源所有者密码凭证授权,但我对 client_id 和 client_scret 应该是什么感到困惑? specs对于资源所有者密码凭据授予说:
The client makes a request to the token endpoint by adding thefollowing parameters using the "application/x-www-form-urlencoded"format per Appendix B with a character encoding of UTF-8 in the HTTPrequest entity-body:
grant_type
REQUIRED. Value MUST be set to "password".
username
REQUIRED. The resource owner username.
password
REQUIRED. The resource owner password.
scope
OPTIONAL. The scope of the access request as described by
Section 3.3.
但是 Passport.js 策略被记录为这样使用:
passport.use(new ClientPasswordStrategy(
function(clientId, clientSecret, done) {
Clients.findOne({ clientId: clientId }, function (err, client) {
if (err) { return done(err); }
if (!client) { return done(null, false); }
if (client.clientSecret != clientSecret) { return done(null, false); }
return done(null, client);
});
}
));
所以我的问题是,如果规范没有说明需要 client_id 或 client_secret,为什么 oauth2-client-password 策略使用 client_id 和 secret_id?
最佳答案
我猜你现在已经有了这个,但我想我还是会添加一个答案。
示例代码:
Client.verify = function(clientId, secret, next){
this.getByClientId(clientId, function(err, client){
if(err) {
return next(err);
}
if(!client){
return next(null, false);
}
SecurityUtil.compare(secret, client.hash, function(err, result){
if(err){
return next(err);
}
next(null, result);
});
});
};
关于javascript - Passport.js 使用 client_id 和 client_secret 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21922580/
我正在使用 django-social-auth 为我的 django 项目进行 google apps 身份验证。我从我的域的 Google api 控制台获取了客户端 ID 和 key 。并按如下
当我尝试使用 next auth 创建一个 discord oauth 客户端并单击登录时,出现此错误: https://next-auth.js.org/errors#get_authorizati
我已经设置了用于单点登录的 Azure AD 应用程序。我按照微软的教程https://dev.onedrive.com/auth/aad_oauth.htm设置此 upp,大多数情况下一切正常。
我是基于 Facebook 的开发的新手,只需要一个基本的 Facebook 注册表,我找到了“注册表及其 html 以嵌入我的网站”,但需要一个 client_id 以便我可以使用它。我从哪里得到这
我正在尝试根据 client_id 使用不同的登录页面。 用例:我的默认登录页面是经典的用户名/密码类型登录,但对于特定的 client_id,登录页面要求提供 3 种不同的信息,其中一种是他在邮件中
我正在尝试根据 client_id 使用不同的登录页面。 用例:我的默认登录页面是经典的用户名/密码类型登录,但对于特定的 client_id,登录页面要求提供 3 种不同的信息,其中一种是他在邮件中
我已经使用 Web API 2 实现了 Google 身份验证并收到以下错误: The given URL is not allowed by Client_id 'ngAuthApp' config
我有一个 API,用于我正在开发的项目。我收到客户端 ID 的关键错误,我必须传递该错误才能调用 api。我使用的 api 是 Synapse。如果有人知道导致错误的原因或我如何修复此关键错误,这将是
我一直在使用 LinkedIn api (OAuth 2),并且找到了一个示例来帮助测试它。我已严格按照教程进行操作,但由于某种原因,当我提供完整的重定向 URL(按照代码中的要求)时,出现错误:(i
我有五张 table ;客户、第一部分、第二部分、第三部分、第四部分。输入数据后,每个表都会自动在第一个字段中填充 client_id。我想检索网站上特定客户端的每个表(第一节、第二节、第三节、第四节
目前我正尝试在我的网络应用程序上连接 paypal oauth 登录。但是我收到了这个错误 客户端代码 paypal.use(["login"], function (login) {
我试图从 hms 服务器请求一个 oauth token ,但它总是返回 missing required parameter: client_id 给我。 url: https://oauth-lo
当我使用 Oauth2.0 从谷歌联系人 API 获得响应时,它返回的响应如下所示 “该网站 251543634636.apps.googleusercontent.com 正在请求访问您的 Goog
有点 OAUTH 的初学者,想问我是否理解正确。我正在使用 OWIN 和 C#,并设置以下场景: 用户向我的 token 端点发出请求,传入用户名/密码和密码 grant_type。如果凭据有效,那么
我遇到了一个我不明白的问题!我正在开发一个react-native(js)应用程序,它尝试使用隐式授权流访问Spotify api。 这是我获取访问 token 的方法: async function
在移动平台上使用带有 OAuth2 的用户代理流程时,授权服务器无法验证应用程序的 client_id。 因此,任何人都可以通过复制 client_id 来冒充我的应用程序(从而代表我获取所有访问 t
我正在尝试从 SoundCloud 为 HTML5 播放器传输音乐,我希望它(其核心)像这个 fiddle http://jsfiddle.net/kS97M/5/ 一样工作。 SC.initiali
我正在尝试使用 Javascript 从 ArcGIS Online 服务获取 token 。但是,它总是返回一个错误,表明未指定 client_id。 我做的一切都在这里吗? var My
是否有某种我可以通过扩展访问的唯一客户端 ID,如果没有,我是否可以永久设置某种 UUID(例如 IE 注册表或 FF 中的全局首选项)?我不想每次用户重新安装我的扩展程序时都重新生成 UUID。 谢
所以我刚刚从 LinkedIn oauth 1.0 升级到 2.0,我已经收到这个错误大约一天了。我在 php 上看到了一篇关于它的帖子,但我无法在 Node JS (Javascript) 中弄清楚
我是一名优秀的程序员,十分优秀!