everyone.我最近正在学习OAuth身份验证。我正在玩谷歌的oauth api。在服务器端应用的 Google 登录教程中,在第三步 - 初始化 GoogleAuth 对象中,您需要提供客户端 ID 来初始化 GoogleAuth 对象。我只是想知道我们是否需要对客户端 id 保密,因为现在任何人都可以通过查看 javascript 来找出客户端 id 是什么。
隐藏客户端 ID,前提是您限制了对特定 JavaScript 源的访问并在服务器端重定向 URI。查看有关此 Quora 线程或此 IETF 线程的更多详细信息。
这是它的样子,让我们假设入侵者有那个client_id
但有一个警卫检查,比如,
"好的,你拿到了钥匙,但让我看看你是否是白名单的一部分"
这就是为什么我们有javascript origin
,应该是这两个条件满足能够访问,
条件
- 有
client_id
- 是
javascript origin
的一部分
但这并不意味着你完全想暴露它,它可以很容易地搜索什么,仍然做一个方便的工作,以便不容易看到它