mirror of
https://github.com/ammaraskar/pyCraft.git
synced 2024-12-01 14:43:24 +01:00
59 lines
1.5 KiB
ReStructuredText
59 lines
1.5 KiB
ReStructuredText
Authentication
|
|
==============
|
|
|
|
.. currentmodule:: authentication
|
|
.. _Yggdrasil: http://wiki.vg/Authentication
|
|
.. _LoginResponse: http://wiki.vg/Authentication#Authenticate
|
|
|
|
The authentication module contains functions and classes to facilitate
|
|
interfacing with Mojang's Yggdrasil_ service.
|
|
|
|
|
|
Logging In
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The most common use for this module in the context of a client will be to
|
|
log in to a Minecraft account. The convenience method
|
|
|
|
.. autofunction:: login_to_minecraft
|
|
|
|
should be used which will return a LoginResponse object. See LoginResponse_ for more details on the returned attributes
|
|
|
|
.. autoclass:: LoginResponse
|
|
:members:
|
|
|
|
or raise a YggdrasilError on failure, for example if an incorrect username/password
|
|
is provided or the web request failed
|
|
|
|
.. autoexception:: YggdrasilError
|
|
:members:
|
|
|
|
|
|
Arbitary Requests
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
You may make any arbitary request to the Yggdrasil service with
|
|
|
|
.. automodule:: authentication
|
|
:members: BASE_URL
|
|
|
|
.. autofunction:: make_request
|
|
|
|
.. autoclass:: Response
|
|
:members:
|
|
|
|
|
|
---------------
|
|
Example Usage
|
|
---------------
|
|
An example of making an arbitary request can be seen here::
|
|
|
|
url = authentication.BASE_URL + "session/minecraft/join"
|
|
server_id = encryption.generate_verification_hash(packet.server_id, secret, packet.public_key)
|
|
payload = {'accessToken': self.connection.login_response.access_token,
|
|
'selectedProfile': self.connection.login_response.profile_id,
|
|
'serverId': server_id}
|
|
|
|
authentication.make_request(url, payload)
|
|
|