Tag: oauth 2.0

使用keyrockvalidationtestingWeb应用程序时遇到问题

首先,我们在fiware实验室中设置我们的应用程序: 我们用来创build应用程序的代码是在这个网站上 我们改变的唯一的东西是config.js: var config = {} config.idmURL = 'https://account.lab.fiware.org/'; config.client_id = 'f9b5940d67a741a38039690e4d6e6c6f'; config.client_secret = 'c9f854c96c9e4c70a0d402bce3233a17'; config.callbackURL = 'http://panonit.com:8802/user_info'; // Depending on Grant Type: // Authorization Code Grant: code // Implicit Grant: token config.response_type = 'code'; module.exports = config; 在部署节点服务器时,我们将以下站点启动并运行(在同事的笔记本电脑上): 你可以在9点到18点之间查看自己的情况。 当我们点击login后,我们被正确地带到用户可以validation的fiware站点: 这是网站破裂的地方(它说网页不可用): 为了解决这个问题,我们只改变了server.js来只输出响应: // Ask IDM for user info app.get('/user_info', function(req, res){ var url […]

OAuth 2与IOS,node.js,护照和谷歌

我试图让一个示例Web应用程序工作使用OAuth 2接受IOS客户端的安全性,有点麻烦。 浏览器客户端 使用来自我的node.js /护照示例代码添加了我的Google客户端ID +密码(https://code.google.com/apis/console)。 非常好用 – 我所要做的就是将redirectURI指向我服务器的授权callback。 IOS客户端 使用与上面相同的服务器端代码和IOS的gtm-oauth2库,我遇到了一些麻烦。 我根据谷歌的说明为安装的应用程序创build了一个客户端ID,并修改了服务器以使用这些ID并将它们添加到了ios应用程序中。 该应用程序能够到达谷歌login页面,但在redirect给出了一个错误(这是有道理的,因为我没有改变redirecturi)。 Google给了我两个redirectURI 选项 : 什么东西或其他 本地主机 服务器需要进行一些sorting或redirect,但是IOSredirectURI中的子层不起作用,而且似乎不应该让服务器需要有一个需要validation的URI: passport.use(new GoogleStrategy({ clientID: GOOGLE_CLIENT_ID, clientSecret: GOOGLE_CLIENT_SECRET, callbackURL: "http://127.0.0.1:3000/auth/google/callback" }, function(accessToken, refreshToken, profile, done) { // asynchronous verification, for effect… process.nextTick(function () { // To keep the example simple, the user's Google profile is returned to // […]

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用户?

更新:NodeJS – connect-keycloak中间件空响应错误

我在使用带有NodeJS的connect-keycloak中间件的时候遇到了一个问题,而且使用它的人似乎只有很less的文档。 这是基于在这里find的官方文档'A Full Example': http : //keycloak.github.io/keycloak-nodejs/connect/ 使用curl进行testing时,出现了一个意外的错误,涉及到未定义的“keycloak-token”。 在我的代码或源代码中找不到任何对此的引用,也没有任何人在网上遇到同样的问题。 任何人都可以看到我做错了什么? connect-keycloak对象包含并按预期方式实例化: // app.js: // module dependencies var request = require('sync-request'); var fs = require('fs'); var restify = require('restify'); var Keycloak = require('connect-keycloak'); var session = require('express-session'); var memoryStore = new session.MemoryStore(); // Keycloak var keycloak = new Keycloak({ store: memoryStore }); 并使用中间件: var server = […]

OAuth2授予​​节点js的密码

我正在devise一个Web应用程序,主要分为以下两部分 网站(UI):Node JS Express应用程序将作为www.mysite.com托pipe Rest API:业务逻辑(Atuhentiation,授权,业务逻辑),将作为一些不同的域名托pipe,例如api.mysite.com 我想要为这个应用程序实现OAuth2 。 我通过OAuth2阅读,了解它的各种stream程,基于我的理解,我得出结论:“ 资源所有者密码凭证 ”stream是一种方式,因为客户端和服务都属于我,用户也将直接注册我的应用程序,因此他们将提供用户名和密码。 我围绕“资源所有者密码凭据”stream程进行了大量研究,但是这个stream程很less被讨论和logging。 我几乎不知道如何在应用程序中实现这个stream程。 我正在开发节点JS中的网站和Rest API。 请指导我如何实施这个? 任何演示,文件将是有益的。 提前致谢 !

第三方用户使用电子validation

我一直在寻找如何在电子应用程序中实现用户身份validation的资源。 我想利用Github等第三方服务来允许用户login和注册。 有了一个“常规”的Node.js应用程序,我可能会利用像passport.js或类似的东西来实现这一点。 我的困惑是因为电子应用程序是客户端,所以像客户端代码中的客户端密钥似乎是错误的。 那么在电子应用程序中实现第三方用户身份validation的过程是什么?

无效的oauth2令牌请求

我正在开发一个需要使用Google进行身份validation的节点应用程序。 当我申请一个令牌时, https : //accounts.google.com/o/oauth2/token回应: error: 400 { "error" : "invalid_request" } 我已经试过用curl做同样的请求,并且收到了同样的错误,所以我怀疑我的请求有问题,但是我不知道是什么。 我粘贴了下面的代码: var request = require('request'); var token_request='code='+req['query']['code']+ '&client_id={client id}'+ '&client_secret={client secret}'+ '&redirect_uri=http%3A%2F%2Fmassiveboom.com:3000'+ '&grant_type=authorization_code'; request( { method: 'POST', uri:'https://accounts.google.com/o/oauth2/token', body: token_request }, function (error, response, body) { if(response.statusCode == 201){ console.log('document fetched'); console.log(body); } else { console.log('error: '+ response.statusCode); console.log(body); } }); 我已经三重检查,以确保我提交的所有数据是正确的,我仍然得到相同的错误。 […]

我需要Oauth2用于我的Web Apps API

我正在围绕构build一个基于express.js / node.js的REST API来包装我的大脑。 我有一些问题… 如果我现在只关心Web应用程序(不一定是电话应用程序),我是否需要基于token / oauth 1或2安全性的API? 是否有任何资源来学习如何从头开始构build? 我已经阅读了字面上的第一个3页的谷歌search“rest api与oauth2authenticationexpress.js”,我还没有把握。

Passport-js如何创build自定义策略

我期待创造我自己的战略。 我有client_id , client_secret和相关的元数据。 我也知道执行的stream程。 所以我想创build自己的策略并添加我的自定义逻辑进行身份validation。 我看护照战略 ,但我不知道如何实施自己的战略。 任何人都可以解释吗?