Tag: github

OAuth范围在同一应用程序中的不同stream量?

上下文 我有一个Node.js应用程序,它具有一套“复杂”的OAuthstream程,以使UX更简单。 我有通常的login和注册stream程,您可以使用OAuth提供程序进行身份validation。 这里我不需要任何特殊的scope ,因为OAuth纯粹用于身份validation,用户没有理由要给我提升权限(比如私人的GitHub仓库),甚至可能认为这是一个可疑的事情,所以他离开了,再也不会访问我的产品。 所以,没有纯粹的authenticationstream程的scope 。 该应用程序还具有导入function,您可以从OAuth提供程序(例如GitHub存储库)导入实体列表。 默认情况下,你不会在这里要求任何scope 。 点击“寻找你的私人存储库?” button再次validation你对GitHub,要求repo范围。 这一切都很好。 问题 当用户尝试再次login或以其他方式进行身份validation但不明确请求repo作用域时,GitHub认为这是明确的降级请求。 问题是用户在login过程中不会因为没有特殊原因而降级 。 同样, 我不想在login时要求比我需要更多的权限 。 离开这个状态的东西比在login时要求repo更糟糕,但这也是一个非常糟糕的select。 潜在的解决scheme 除了两个非解决scheme,我提出的潜在解决scheme是: 根据请求的scope明确地询问GitHub的唯一访问令牌 ,分别存储令牌,然后根据需要使用它们 那真是太好了,除非它是有状态的,我还没有find办法去做; 他们似乎给每个应用程序用户一个单一的令牌,我怀疑OAuth是如何工作的,但我几乎不是这方面的专家。 如果GitHub拥有比所要求的更多的特权,请明确告知GitHub 不要降级它。 这听起来应该是默认的行为。 无论如何, 有什么办法可以告诉GitHub不要降级令牌吗? 如果没有,有没有其他办法可以解决这个问题,而不是在整个应用程序中要求相同的范围? 这首先会部分地破坏示波器的目的。 另外,这是一个GitHub的具体问题? 我是否需要按提供者的方式处理这个问题? 有没有协议级别的解决scheme奇迹般地让问题消失? 还是OAuth只是不考虑用户体验? FWIW我正在使用iojs和passportjs ,但我认为这与问题没有任何关系。

一个git仓库中的多个模块; 只有一个模块需要部署到Heroku

我有一个项目,目前有2个npm模块。 一个模块将在Heroku上运行,而另一个模块将运行在客户端上。 这两个模块都是用Node编写的。 现在,他们在不同的回购协议,但我想把他们在同一个回购。 他们是彼此独立的,但devise为彼此交互,所以我想他们在同一个回购,因为他们是同一个项目的组成部分。 问题是Heroku推动回购中gitignore文件不会忽略的所有内容,但是我不希望客户端模块只能放在服务器上。 有没有办法告诉Heroku,我只想要一个npm模块部署,而不是其他? 也许与Git子模块或其他方式?

是否有可能查询GitHub API的任何回购,用户是一个合作者?

我似乎缺less,如果有可能查询Github的任何/所有回报,一个成员是一个合作者? 我正在写一个github oauth节点的应用程序,我试图得到,不仅是成员回购,但任何回购,他们是一个合作者。 这可能吗?

Github的Web API授权问题 – 返回“未find”

由于我没有发现任何人有同样的问题,我希望这是一件简单的事情。 我相当新鲜。 这是一个Node / Express应用程序,我正尝试连接到Githubs Web API并检索某个特定回购的问题。 我已经生成了一个个人令牌,并将其与基本授权一起使用。 当我尝试连接时,我得到:“ 未find ”。 Github的状态,authentication是必要的,他们返回404/403,我得到404,所以它必须与身份validation。 回购有问题。 令牌不应该有问题,我select“回购”作为访问范围。 其实我不知道我在做什么HTTP请求,但我已经尝试了请求和http。 所以除了别的以外,我想知道是否是授权标题是错误的。 我粘贴我现在使用请求的代码,并返回正文。 任何帮助是极大的赞赏。 const githubToken = process.env.TOKEN; let options = { url: "https://api.github.com/repos/myOrg/myRepo/issues/", headers: { "Authorization": "Basic " + githubToken, "User-Agent": "Mozilla/5.0", "Content-Type": "application/json" } }; let requestCB = function(error, response, body) { if (error) { console.log(error); } else if […]

新项目的Git Init

我对“Git Init”有点困惑。 我正在为我的项目使用Cloud9。 之前我曾经做过一个我曾经做过的项目,作为我的新项目的起点。 目前我正在把这个新项目推向Heroku / Git。 我不想重写我以前的项目。 目前采取的步骤: 克隆原始项目作为新项目的起点 用新代码创build新项目等 部署时间。 与heroku创build创build新的Heroku链接 使用git remote set-url heroku更改为新的Heroku链接 现在我已经准备推出,但不想重写原始项目 现在我已经完成了git add -A并检查了git状态 这里是我的问题和关心新项目的文件,它说“新文件”,但对于我以前的项目文件,它说“删除文件” new file: views/listings/show.ejs new file: views/listings/sold.ejs deleted: views/profile.ejs deleted: views/rentals/edit.ejs deleted: views/rentals/editprofile.ejs 我不想从我以前的项目中删除任何文件我只想创build一个新的回购。 我很困惑和担心,如果我推我的新项目,我会删除我的旧项目。 任何澄清非常感谢! 非常感谢!

如何通过API发布主旨(不是匿名的)

我正在使用passport-github策略。 passport.use(new Strategy({ clientID: "…", clientSecret: "…", callbackURL: 'http://localhost:3000/login/github/return', scope: 'gist' }, function(accessToken, refreshToken, profile, cb) { return cb(null, profile); })); 然后我发出POST请求 app.get('/profile/post', require('connect-ensure-login').ensureLoggedIn(), function(req, res){ var url = 'https://api.github.com/gists'; axios.post(url, { method: "POST", "description": "POSTING FROM EXPRESS", "public": true, "files": { "file1.txt": { "content": "EXPRESS " } } }) .then(function (response) {…}) .catch(function (error) […]

WebRTC在不同的networking中没有video

对不起我的英文。 我有一个webRTC的问题。 我的应用程序在同一个networking中正常工作,但不同的是错误的。 我使用的技术: socket.io 节点 CoffeeScript的 吞 zenserver 在这个github我推我的代码: github / oihi08 / webrtc 我不知道为什么应用程序不与不同的networking运行。 我已经上传到服务器,我试了一下,什么也没有。 但是在同一个networking中是的。 非常感谢!!

jenkins – 节点JS + GitHub集成在Windows 10生成过程中失败

我正在尝试使用Jenkins版本1.6来configuration节点js的继续集成 步骤1:通过保持全局configuration,我已经configuration了如下的NodeJS安装 第2步:我的作业configurationselect节点全局configuration在这里 第三步:我的作业控制台,它正在获取适当的git回购安装npm它失败 > C:\Git\Git\bin\git.exe config core.sparsecheckout # timeout=10 > C:\Git\Git\bin\git.exe checkout -f f1612bda9378e7f03738d142a5ce7c0d0a55f6c3 > C:\Git\Git\bin\git.exe rev-list f1612bda9378e7f03738d142a5ce7c0d0a55f6c3 # timeout=10 Unpacking https://nodejs.org/dist/v6.9.0/node-v6.9.0-win-x86.zip to C:\Users\Selva\.jenkins\tools\jenkins.plugins.nodejs.tools.NodeJSInstallation\node_v6.9 on Jenkins [substack] $ C:\Users\Selva\.jenkins\tools\jenkins.plugins.nodejs.tools.NodeJSInstallation\node_v6.9\node.exe C:\Users\Selva\AppData\Local\Temp\hudson640278178448032292.js C:\Users\Selva\AppData\Local\Temp\hudson640278178448032292.js:1 (function (exports, require, module, __filename, __dirname) { npm install ^^^^^^^ SyntaxError: Unexpected identifier at Object.exports.runInThisContext (vm.js:76:16) at Module._compile (module.js:542:28) at Object.Module._extensions..js (module.js:579:10) at […]

GitHub限速防止用户提交历史logging的返回

我写了代码来返回用户已经提交给GitHub的“连胜”(连续多less天)。 不幸的是,它是recursion地制作GitHub API请求,最终很快就会遇到速度限制问题(甚至是API令牌)。 有没有更好的方法来检索这些信息? 本质上,我正在寻找的是显示在用户帐户页面上的“绿色方块”数据: 我的示例代码正在进入速率限制: const express = require('express'); const request = require('request'); const moment = require('moment'); require('dotenv').config(); const app = express(); const port = 5000; app.get('/streak/:user', async function (req, res) { const yesterdaysDate = moment().subtract(1, 'day').format('YYYY-MM-DD'); try { const streakCountTotal = await checkUserCommitForDate(req.params.user, yesterdaysDate); res.send({ streakCountTotal }); } catch (error) { console.log(error); res.sendStatus(500); […]

在ejs <2.5.5中检测到已知的中等严重程度的安全漏洞

我在GitHub上获得了一些项目的警报: 我们发现您所贡献的存储库使用的某个依赖项存在潜在的安全漏洞。 在package.json中定义的ejs <2.5.5中检测到已知的中等严重性安全漏洞。 package.json更新build议:ejs〜> 2.5.5。 我可以通过在package.jsonbuild议更新来摆脱警告,并且npm update似乎没有问题。 但我有点不情愿开始搞生产服务器。 该漏洞的https://nvd.nist.gov/vuln/detail/CVE-2017-1000188创build于11.16.2017。 在惊动的项目中, ejs被express使用,而express只和sequelize一起使用。 有没有人了解这个漏洞? 在ejs被静态和内部使用的情况下,XSS将如何可能? 在ejs – > express – > sequelize可能容易受到XSS攻击的情况下,是否有真正的用例?