问题描述
我要使用 battle.net的OAuth 2.0授权代码流(https://develop.battle.net/documentation/guides/using-oauth/authorization-code-flow)作为我网站上的登录名。
-
用户可以单击按钮“使用Battle.net登录”。之后,他将被重定向到Battle.net网站上,该网站上会生成授权代码。战斗网一侧会将用户重定向到我的joomla网站,该网站的授权代码输出在浏览器的地址栏中。
-
我的网站获取了授权代码并发布了该curl帖子,因此我获得了用户battle.net配置文件的访问令牌。
$ch = curl_init(); curl_setopt($ch,CURLOPT_URL,'https://eu.battle.net/oauth/token'); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,"client_id=XX&client_secret=XX&redirect_uri=XX& grant_type=authorization_code&scope=wow.profile&code=XX"); $headers = array(); $headers[] = 'Content-Type: application/x-www-form-urlencoded'; curl_setopt($ch,CURLOPT_HTTPHEADER,$headers); echo $ch,$result = curl_exec($ch); if (curl_errno($ch)) { echo 'Error:' . curl_error($ch); }
-
我可以访问他的Battle.net用户信息:
{"sub":"888888","id":ID,"battletag":"USERNAME#1650"}
不可能获得用户Battle.net邮件地址。
现在,Joomla如何像对待“普通”注册用户一样处理此用户(就像他已经在joomla注册掩码上进行注册一样)。
我认为首先需要在joomla数据库中创建用户。为此,我想使用一个简单的注册脚本,其中包含我从Battle.net用户的信息中获取的变量。问题是我没有创建joomla用户所需的邮件或密码。
你能给我一些提示吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)