eve吧 关注:577,746贴子:27,795,771

#ESI#关于国服ESI系统的一些说明

只看楼主收藏回复

大家好,我是吉姆
这几天工作和游戏里事情都比较多没上贴吧,直到昨天晚上木木找到我跟我说了这个事我早上起来看了一下发现大家对于这个ESI系统有诸多疑问和不安,作为PIBC联盟信息登记系统的参与开发人员,我觉得我需要本着负责任的态度首先为本系统做出几点说明,其次为诸位EVEr解决一下心中的疑惑。
首先为大家解答一下什么是ESI,ESI是冰岛CCP开发的,适用于EVE Online的公开数据接口,原理和游戏客户端访问游戏数据库得到返回结果类似,只是没有写入改变游戏内容的部分,通过对应的请求链接可以获取到EVE游戏内的指定内容(附CCP的官方ESI介绍页面:https://developers.eveonline.com/blog/article/introducing-the-esi-apiCCP官方ESI接口说明文档欧服:https://esi.evetech.net/ui/CCP官方ESI接口说明文档国服:https://esi.evepc.163.com/ui/)比如:https://esi.evepc.163.com/latest/search/?categories=character&datasource=serenity&language=zh&search=%E5%86%9B%E7%94%A8%E9%A6%92%E5%A4%B4&strict=true复制该链接到浏览器打开,获取到的是:{"character":[410614068]}也就是军用馒头的角色ID然后我们通过这个ID得到请求链接:https://esi.evepc.163.com/latest/characters/410614068/?datasource=serenity得到的数据是:{"alliance_id":403524217,"ancestry_id":34,"birthday":"2006-08-18T06:09:00Z","bloodline_id":12,"corporation_id":98021437,"description":"","gender":"male","name":"\u519b\u7528\u9992\u5934","race_id":8,"security_status":-0.05}其中name部分进行转义就是玩家ID:军用馒头,同样根据这个角色ID得到请求链接:https://image.evepc.163.com/Character/410614068_512.jpg
返回结这样大家都认识是谁了吧。这个是ESI的不经过授权的简单应用,查询范围包含所有的公共信息,我做的EVE查询机器人目前也已经公开发布,所有功能均基于官方提供的ESI接口查询信息。说完了ESI是什么,接着说一下所谓的授权也就是单点登录(SSO)的实现原理。首先什么是单点登陆,可以参考百度百科:https://baike.baidu.com/item/SSO/3451380,那么EVE的SSO是怎么实现的呢,这里还是回到CCP的官方开发博客:https://developers.eveonline.com/blog/article/sso-to-authenticated-calls
英文不错的小伙伴可以看明白通过一个授权SSO链接,向服务器发送GET和POST请求(这个我就不在这里解释了,自己百度吧我相信大家是有这个能力的)然后服务器会给出返回数据。
按照CCP官方给出的URL创建规则我们首先需要在CCP的第三方开发博客注册一个开发者账号,并登记自己的APP信息:如此一来我们就拿到了创建链接所需要的所有信
根据上述方法拼接登陆URL后打开会进入CCP的登陆界面,输入账号密码登陆后会自动拉取回调URL并在URL后用GET方法跟上授权令牌(token)通过这个授权令牌,我们向CCP发送一个POST请求随后CCP会返回一个这里的授权令牌变成了两个一个是access_token一个是refresh_token,refresh_token才是正儿八经的授权令牌,第三方APP可以根据refresh_token获取access_token而access_token仅仅是一个有效期只有20分钟的临时授权令牌,至此整个EVE的SSO授权流程就完成了,当然这个是欧服ESI的SSO登陆流程
国服的SSO并没有开放我再说一遍国服的SSO并没有开放,看我的口型:没有开放!!!
那么现在的PIBC联盟信息收集系统又是怎么回事呢?说到这里我们就要提到大家耳熟能详的EVE国服市场中心https://www.ceve-market.org/index/和国服KB网https://kb.ceve-market.org/在此我也感谢一下EVE国服市场中心站长copyliu发现的ESI系统的一个使用窍门:在上述提及的CCP提供的国服ESI接口说明文档https://esi.evepc.163.com/ui
中有一个登陆的功能:这也是一个EVESSO应用程序(CCP自己的程序能授权,网易尚未开放接口,真惨)
在这个页面勾选权限之后登陆注意在这个页面:
注意这个页面!注意这个页面的URL!!reg.163.com这个是网易官方的账号登陆页面!
(不要再黑了,这个真的是网易的页面)
输入账号密码后就可以在接口文档测试ESI接口协议的相关使用方法。下面进入正题:PIBC联盟信息收集系统的实现方法!我们利用了这个CCP提供的授权接口的页面提供的登陆功能,在登陆之后将上述的请求token改为请求access_token这样系统就获得了一个有效期为20分钟的临时授权,目前仅用于确认这个角色的归属权。大家可以自行打开https://www.mango-eve.online/pibc/info/之后点击开始绑定得到这个URL:https://reg.163.com/open/oauth2/authorize.do?state=&redirect_uri=https%3A%2F%2Flogin.evepc.163.com%2Fv2%2Faccount%2Fcallback%3Fprovider%3Dnetease%26state%3D375c061f-d436-4e3b-9593-fac619f22511%253Apibc_info_system&response_type=code&client_id=7014295958这个链接真的是网易的链接我不多说了,有脑子的人自有公论。授权完成之后会返回一个链接其中的access_token就是上文所述20分钟的授权令牌,而系统是没办法自动提取这个url的所以需要各位手动复制到系统页面。所有的一切账号操作系统都是无法获取到的,完全在你个人的电脑上,所以完全不存在账号密码泄露问题,如果网易官方的这个登陆页面你也不能信任……那你就别玩EVE了因为登录器上的页面也是这个页面。 至此,所有的PIBC信息收集系统的技术流程以及实现原理阐述完毕,各位担心侵犯隐私的我只能说:等网易开放SSO那才是真正的窥视一切无所不见,现在的系统,套用黄埔军事学院CEO23的一句话:“哼~保险钱!”(除非各位有能力阻止网易发布国服EVE的SSO哈哈!)
以上 吉姆
图片太大贴吧发不出来,贴上文档地址,可以去腾讯文档查看:
【腾讯文档】关于PIBC联盟信息收集系统的说明
https://docs.qq.com/doc/DUElrU1ZJWmNTQnla
另:需要市场姬服务的加群了解819242873


IP属地:四川1楼2020-04-20 09:37回复
    别说了,我退团还不行么


    来自Android客户端2楼2020-04-20 12:12
    回复
      2026-09-17 21:41:05
      广告
      不感兴趣
      开通SVIP免广告


      IP属地:湖南3楼2020-04-24 14:17
      回复


        IP属地:广东来自Android客户端4楼2020-04-24 14:19
        回复
          你好楼主,我想做一个获取吉他市场价格的Excel表格,可以教教我么


          IP属地:山东来自Android客户端5楼2020-04-26 20:29
          回复
            同上!能出一个可以扒吉他特定商品价格的excel吗!种菜天天手动扒价格给我扒疯了!


            IP属地:湖北来自Android客户端6楼2020-04-26 21:59
            回复
              网易的账号中心就是一坨屎啊


              IP属地:上海7楼2020-04-27 11:19
              回复
                好一个复制粘贴


                IP属地:河北8楼2020-04-27 11:30
                回复
                  2026-09-17 21:35:05
                  广告
                  不感兴趣
                  开通SVIP免广告
                  我来说一句:
                  你们目前没有任何方法,资质,证明你们的网站服务器,没有通过输入监控,网络抓包等其他技术手段,获取玩家的账号及密码。
                  虽然国内私人信息不值钱,但是获取门槛是很大的,一旦被有心人利用,后果会非常严重,好自为之吧。


                  IP属地:河南9楼2020-05-20 00:12
                  收起回复
                    哈哈(ಡωಡ)hiahiahia,esi是个好东西(✪▽✪)方便查询各种小秘密。


                    来自Android客户端11楼2020-09-30 02:47
                    回复
                      要是国服搞了esi功能,反馒难度就大大的提高了,网易就是想要pibc死


                      IP属地:广西来自Android客户端12楼2020-09-30 15:28
                      回复
                        学着尝试了一下获得token,但是在http://www.mango-eve.online/pibc/info/网页上操作的时候,第4步没有看到esi让我选授权范围,而是直接给了空页面,使用这个空页面链接里的token在esi网上查询,得到的内容是 "error": "token is not valid for any scopes", "sso_status": 200。我觉的是这个token没有权限的缘故。在esi网页上的autherize可以选权限,但登录不上,回复"error":"invalid_request","error_description":"Unable to check RealId binding if user isn't logged in. Missing Netease token." 请问楼主是我哪里搞错了还是现在的esi又有变化了?


                        IP属地:安徽13楼2020-10-17 22:34
                        收起回复
                          没说过会泄露账号密码啊,楼主文不对题,避重就轻说什么呢?我们大家讨论的关键点是,用逼迫的手段获得授权后,泄露的游戏信息会不会对玩家造成伤害。


                          IP属地:江西来自手机贴吧14楼2021-03-25 21:28
                          收起回复
                            请教如何搞esi 我是一个联盟的总监


                            IP属地:黑龙江来自iPhone客户端15楼2021-04-05 16:12
                            回复
                              2026-09-17 21:29:05
                              广告
                              不感兴趣
                              开通SVIP免广告
                              好家伙,谁的洛阳铲


                              IP属地:湖北来自Android客户端16楼2021-04-16 14:58
                              回复