Articles of oauth 2.0

社交authentication – 在FE或BE方面做得更好?

如果我们想要进行社交authentication(例如Facebook或Google ),那么哪一方最好将其整合。 后端侧还是前端侧? 对于后端我们有NodeJS ,我们可以使用PassportJS来做到这一点,对于前端我们有Angular2.0 ,也有插件可以做到这一点。 我有点困惑这个代码应该驻留在哪一边。 如果有人对此有任何看法,请让我知道。

如何撤销由OAuth从谷歌提供的令牌? 的NodeJS

我已经通过使用oauth2从我的NodeJS应用程序连接到谷歌加,但如何撤销令牌/断开? 我不能在NodeJS的文档中find任何东西。

NodeJS twitter-ads lib找不到我的帐户(帐户<myaccountnumber>未find)

所以当我使用twurl … twurl -H "https://ads-api.twitter.com" "/2/accounts/<myaccountnumber>" 我收到了有关所述广告帐户的所有信息的正确回复。 这个,我想,这意味着我很好,去所有的帐户授权/白名单的twitter的一面。 是? 我的广告帐户和我的应用正确绑定在一起了吗? 当我在https://github.com/FallenTech/twitter-ads上运行代码示例时 var TwitterAdsAPI = require('twitter-ads'); var T = new TwitterAdsAPI({ consumer_key: 'XXX', consumer_secret: 'XXX', access_token: 'XXX', access_token_secret: 'XXX' }); T.get('accounts/:account_id', {account_id: 'XXX'}, function(error, resp, body) { if (error) return console.error(error); console.log(body); }); 我明白了 { code: 'NOT_FOUND', message: 'Account <myaccountnumber> was not found' } 我在这里错过了什么步骤? 当我授权twurl我只使用消费者密钥和消费者的秘密。 […]

在收到访问令牌之后,无法向NodeJs中的Google OAuth 2发出authentication请求

我真的很讨厌打败这个死马,但是我找不到使用node-oauth的节点的明确答案。 从Passport收到Oauth舞曲中的用户访问令牌后,我似乎无法真正执行成功的GET: function(accessToken, callback) { var request = require('https').request( { host: 'www.google.com', port: 443, path: '/m8/feeds/contacts/default/full?alt=json', method: 'GET', headers: { Authorization: 'Oauth ' + accessToken } }, function (res) { console.log(res.statusCode); callback(JSON.parse(res)); }); request.end(); } 我得到了401.我知道accessToken是有效的。 我使用的标题与我在Google Oauth Playground中看到的完全一样。 非常感谢你的帮助!

使用访问令牌在节点中获取Google +用户个人资料

我正在尝试在Node中获取用户configuration文件的详细信息。 stream程是这样的,我有一个移动应用程序,为我生成令牌(通过谷歌加本地SDKauthentication),然后我把令牌发送到我的节点服务器,我想从谷歌获得有关用户的详细信息。 我尝试了以下(假设我有从客户端access_token ): var request = require('request'); request('https://www.googleapis.com/oauth2/v2/userinfo?access_token=' + access_token, function(err, res, body) { if (err) return callback(err); if (res.statusCode != 200) { return callback(new Error('Invalid access token: ' + body)); } else { var me; try { me = JSON.parse(body);} catch (e) { return callback(new Error('Unable to parse user data: ' + e.toString())); […]

LocalStrategy和ClientPasswordStrategy之间的护照区别

我对这个策略有点困惑,不清楚它们之间的区别,以及我需要在我的应用程序中使用哪些? (或者甚至一般需要它),因为我只需要将用户凭证交换给令牌,然后计划使用bearer strategy

使用axios获取访问令牌

我正在使用Lyft API ,并试图找出如何使用axios和节点脚本获取访问令牌。 我可以通过使用Postman手动获取访问令牌,填写如下所示的表单: 当我填写表格时,我可以成功地从Lyft获得一个新的令牌。 我试图把这个转换成使用axios POST请求通过这样做: var axios = require('axios'); var data = { "grant_type": "client_credentials", "scope": "public", "client_id": "vaf7vX0LpsL5", "client_secret": "pVEosNa5TuK2x7UBG_ZlONonDsgJc3L1" }; var url = "https://api.lyft.com/oauth/token"; return axios.post(url, data) .then(function(response){ console.log(response.data) }) .catch(function (error) { console.log(error); }); 当我运行脚本时,我得到这个错误: { error_description: 'Unauthorized', error: 'invalid_client' } 我从axios请求中遗漏了什么? 任何帮助,将不胜感激!

通过Passport OAuthstream传递URL参数

我目前使用优秀的Passport框架在node.js中实现了Google OAuth2,但是我发现很难通过工作stream中的URL参数。 我想要做的例子,将是像/analysis?id=1234 ,然后能够加载该具体的分析。 一旦你已经通过身份validation并且会话还没有过期,它就起作用,但是当你还没有通过身份validation的时候它还不能正常工作。 我正在努力将其传递给我认为的callbackURL。 任何指导将不胜感激! 这是我到目前为止(只有相关的代码) var session = require('express-session'); var storage = require('node-persist'); var passport = require('passport'); var GoogleStrategy = require('passport-google-oauth2').Strategy; var GOOGLE_CLIENT_ID = "<google_client_id>" , GOOGLE_CLIENT_SECRET = "<google_client_secret>", GOOGLE_CALLBACKURL = "http://localhost:1425/auth/google/callback"; app.use(session({ maxAge: 86400000, // 24 hours secret: 'no-one-will-find-out', resave: true, saveUninitialized: true })); var sess; app.use(passport.initialize()); app.use(passport.session()); storage.initSync(); passport.use(new GoogleStrategy({ […]

Github的OAuth v3 API的passport-github支持

我注意到https://github.com/jaredhanson/passport-github模块支持OAuth v2,但一段时间没有更新。 有谁知道是否会更新,以支持目前的Github OAuth v3 API? 具体而言,我正在寻找一种方法来轻松地添加范围列表(类似于https://github.com/pksunkara/octonode支持),以及通过CSRFvalidation的状态。

当没有第三方应用程序涉及时需要OAUTH2?

目前我正在尝试使用REST api在node.js中创build一个服务器,以便在Android和iOS中进行的应用程序执行CRUD调用。 当然,我希望这个REST API尽可能的安全。 花费最近几天试图find最好的方法来做这个似乎是一个Oauth2服务器通过HTTPS。 我知道这里有很多,但我无法find任何简单的解释应该如何工作。 所以请不要把这个标记为重复的问题,因为我实际上对此感到困惑。 阅读关于Oauth2 android / ios中的应用程序将需要注册与服务器。 我看到的所有地方都被认为是第三方的应用程序,这不是我的情况。 如果用户决定允许第三方应用程序访问我的REST API,Oauth2似乎更安全。 就像任何支持使用Facebook或G +login的应用程序一样。 但是原始应用程序如何做呢? 像Facebook,Twitter和Google+的官方应用程序? 是否有可能,他们使用Oauth2基本访问/请求眉毛等,但跳过整个用户审批部分,因为它不是第三方的应用程序。 或者他们可能会使用更简单的用户名和密码在标题或通过https发布? 我真的不知道如果我目前不打算添加第三方访问我的api采取什么方式。 什么是一个好的方法来进行?