所以我正在创建一个网站来学习一些PHP / Javascript / HTML / CSS等等,我遇到了一个问题,我无法提出解决方案。所以基本上我有使用PHP的常规登录表单,它使用POST发送数据并进行身份验证。我还想集成外部Twitch.tv OAuth2身份验证。
通过使用普通的PHP登录,我使用php将我的信息存储在PostgreSQL数据库中。我想使用OAuth2做类似的事情。例如,将Twitch.tv名称存储为数据库中的用户名,将令牌存储为密码。
问题是我使用的外部身份验证是基于他们的Javascript API,它将信息存储在我发现无法通过PHP访问的DOM存储中。带有令牌的redirect_uri也是一个无法通过PHP检索的片段。
我应该废弃JS部分并尝试完全用PHP完成吗?
附带问题:我检查了其他也使用Twitch身份验证的网站,并使用这些回调链接" https://api.nightbot.tv/auth/twitch/callback?code= ****"。这些回调究竟是什么?
答案 0 :(得分:1)
您应该使用JS框架暗示的重定向。它与Facebook的工作原理相同。 重定向与令牌一起使用。通常,您会在您身边生成一个存储在会话中的随机令牌。 一旦用户使用JS API登录,API将重定向到回调页面(在您的情况下为PHP)。 在该页面中,您验证令牌一次(您已经通过并返回,必须相同),并且您还从API获取另一个令牌以与API一起使用。 此时,您可以通过使用API令牌查询API来获取用户信息。 您从API获取用户信息,然后您可以在此时查询您的向下数据库以记录用户等。 我希望这会有所帮助..