微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以使用 GET 请求从私有 GitHub 存储库获取代码吗?

如何解决我可以使用 GET 请求从私有 GitHub 存储库获取代码吗?

我正在构建一个网站,我想进行一些简单的身份验证。我知道这不是最安全的方法,但我想要一些快速简单的方法。此外,网站上没有需要极其安全的身份验证的敏感数据。

这是我想使用的方法

我有一个 私有 GitHub 存储库,其中有一个带有个人凭据的 JSON 文件,格式如下:

{
    "admin": {
        "username": "USERNAME_HERE","password": "PASSWORD_HERE","id": 7777
    }
}

用户尝试登录时,请求是否可以从 JSON 文件获取数据? 我尝试使用 raw.githubusercontent.com(原始代码),但由于 repo 是私有的,因此 URL 末尾需要一个访问令牌。访问令牌也会在一段时间后过期,需要一个新的。

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
       console.log(xhttp.response);
       let a = JSON.parse(xhttp.response);
    }
};
xhttp.open("GET","https://raw.githubusercontent.com/username/repo/master/json/data.json?token=MY_TOKEN",true);
xhttp.send();

这会起作用一段时间,但随后令牌过期并且令牌在源代码中也是可见的,因此该方法无效。

如果我可以使用某种永久类型的令牌,我还需要将其从源代码中隐藏起来。

如果我不能这样做,那么有什么办法可以让我在线托管一个文件,并且成为唯一可以访问它的人,也许是一个令牌?如果我能得到一些关于如何从源代码中隐藏令牌的想法,那就太好了。

解决方法

我知道这不是最安全的方法,但我想要快速简单的方法。

它既不安全,也不快速,也不简单。

当用户尝试登录时,请求是否可以从 JSON 文件中获取数据?

使用 Github API 读取文件(这将要求他们以有权读取您的存储库的用户身份向 Github 进行身份验证,这让整个事情变得糟糕)。

如果我不能这样做,那么有什么办法可以让我在线托管一个文件,并且成为唯一可以访问它的人,也许可以使用令牌?

任何类型的服务器端身份验证系统都可以做到这一点。

如果我能得到一些关于如何从源代码中隐藏令牌的想法就好了。

唯一的方法是让用户输入令牌(或使用密码管理器等)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。