用于mojang的yggdrasil身份验证服务的python包装器。

yggdrasil-p的Python项目详细描述


yggdrasil py

PyPI VersionMIT LicenceForksStarsOpen IssuesSupported VersionsLast CommitCommits since last release

对于mojang yggdrasil身份验证服务,sam carson的开源python 3.6+包装器。有关更多信息,请参考the documentation

使用以下命令通过pypi安装:pip install yggdrasil-py

由于在引发Exception时使用了f字符串,因此仅对python 3.6及更高版本支持此包装。您可以很容易地修改代码以使用%s格式或.format()函数,但是它们没有那么有效。

minecraft 1.6引入了一个名为yggdrasil的新身份验证方案,它完全取代了previous authentication system。mojang的另一个游戏scrolls也使用这种身份验证方法。

验证

使用用户的密码对其进行身份验证。

defauthenticate(username:str,password:str,agentName:str='Minecraft',clientToken:str=None,requestUser:str=False):

参数:

  • 字符串(必需) 代理的用户名/mojang电子邮件(如果已迁移)
  • 字符串(必需) 所用帐户的密码
  • 字符串(可选) 代理,默认为Minecraft,也可以是Scrolls
  • 字符串(可选) 客户机标识符,每个请求必须随机且相同
  • 布尔值(可选) 如果设置为True也请求用户对象(默认为False

响应:

示例:

fromyggdrasilimportauthenticateimportrandomrandomClientToken=random.randint(10000,99999)mc=authenticate('test@example.com','p455w0rd','Minecraft',randomClientToken,False)print(mc['accessToken'])

刷新

刷新有效的accessToken。它可以用来让用户在游戏会话之间保持登录状态,并且比将用户的密码存储在文件中更受欢迎。

defrefresh(accessToken:str,clientToken:str,requestUser:bool=False):

参数:

  • 字符串(必需) 有效的accessToken,从authenticate()
  • 获得
  • 字符串(必需) 与最初用于获取accessTokenclientToken相同
  • 布尔值(可选) 如果设置为True也请求用户对象(默认为False

响应:

示例:

fromyggdrasilimportrefreshprint(refresh(mc['accessToken'],randomClientToken))# Note: invalidates inputted accessToken

验证

检查AccessToken是否可用于Minecraft服务器的身份验证。

defvalidate(accessToken:str,clientToken:str=None):

参数:

  • 字符串(必需) 有效的accessToken,从authenticate()
  • 获得
  • 字符串(可选) 与最初用于获取accessTokenclientToken相同

响应:

  • 返回布尔值以确定accessToken是否有效(如果定义了clientToken匹配)

示例:

fromyggdrasilimportvalidateprint(validate(mc['accessToken'],randomClientToken))

退出

使用帐户的用户名和密码使访问令牌无效。

defsignout(username:str,password:str):

参数:

  • 字符串(必需) 代理的用户名/mojang电子邮件(如果已迁移)
  • 字符串(必需) 所用帐户的密码

响应:

  • 返回True,除非抛出错误

示例:

fromyggdrasilimportsignoutprint(signout('test@example.com','p455w0rd'))

无效

使用客户机/访问令牌对使访问令牌无效。

definvalidate(accessToken:str,clientToken:str):

参数:

  • 字符串(必需) 有效的accessToken,从authenticate()
  • 获得
  • 字符串(必需) 与最初用于获取accessTokenclientToken相同

响应:

  • 返回True,除非抛出错误

示例:

fromyggdrasilimportinvalidateprint(signout(mc['accessToken'],randomClientToken))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Sonarqube测试覆盖率过滤器(jacoco)   java演示文稿将被取消,因为自创建以来显示度量已更改   java为什么Omnifaces Websocket<o:socket>不能与Websphere 9一起使用?   我试图读取java中的xml,但在我的系统中出现了一个错误   java异步支持未启用,即使默认情况下应该启用   java getThreadHandler方法无法从HandlerThread实例访问   带成员函数的多线程Java启动线程   java jar非法参数   java以编程方式注册@Component注释类   正则表达式如何在java中查找字符串中的长双精度数   具有多客户端的java ServerSocket   java JNI不适用于AppKit线程   java如何在用户选择目录元哈希值时输出该值?   java在春季上传阿拉伯文文件时,文件名以XML实体而不是阿拉伯文符号结束   java为什么我们需要在eclipse中作为远程服务器进行调试?   面向java的数据库计算PageRank   java在单击时切换到不同的活动