Skip to content

API reference / @jsprismarine/auth / OfflineAuthProvider

Class: OfflineAuthProvider ​

Defined in: OfflineAuthProvider.ts:41

A login identity that talks to nothing.

The chain is a single JWT this provider signs with a key it just generated, which is exactly what the real client sends when it is not signed in to Xbox Live. A server in online mode refuses it - there is no XUID to check, and it says so - and a server with online-mode off accepts it, which covers JSPrismarine itself, a LAN game, and the whole of the bot harness.

Example ​

typescript
const auth = new OfflineAuthProvider({ displayName: 'Steve' });
const credentials = await auth.createLoginCredentials({ serverAddress: '127.0.0.1:19132', protocolVersion: 748 });

Extends ​

Constructors ​

Constructor ​

new OfflineAuthProvider(options): OfflineAuthProvider

Defined in: OfflineAuthProvider.ts:46

Parameters ​

options ​

OfflineAuthOptions

Returns ​

OfflineAuthProvider

Overrides ​

KeyedAuthProvider.constructor

Properties ​

name ​

readonly name: "offline" = 'offline'

Defined in: OfflineAuthProvider.ts:42

For logs and for choosing between cached sessions.

Overrides ​

KeyedAuthProvider.name

Methods ​

createLoginCredentials() ​

createLoginCredentials(request): Promise<LoginCredentials>

Defined in: KeyedAuthProvider.ts:38

The chain and the client data, signed for one login.

Parameters ​

request ​

LoginRequest

Returns ​

Promise<LoginCredentials>

Inherited from ​

KeyedAuthProvider.createLoginCredentials


getIdentity() ​

getIdentity(): Promise<Identity>

Defined in: OfflineAuthProvider.ts:57

The identity this provider logs in as; see IAuthProvider.getIdentity.

Returns ​

Promise<Identity>

Overrides ​

KeyedAuthProvider.getIdentity


getIdentityPrivateKey() ​

getIdentityPrivateKey(): Promise<string>

Defined in: KeyedAuthProvider.ts:49

The identity key's private half, PEM-encoded PKCS#8.

Returns ​

Promise<string>

Inherited from ​

KeyedAuthProvider.getIdentityPrivateKey


getIdentityPublicKey() ​

getIdentityPublicKey(): Promise<string>

Defined in: KeyedAuthProvider.ts:44

The identity key's public half, base64 DER.

Returns ​

Promise<string>

Inherited from ​

KeyedAuthProvider.getIdentityPublicKey


getMultiplayerToken() ​

getMultiplayerToken(): Promise<string | undefined>

Defined in: KeyedAuthProvider.ts:54

No token by default: nobody vouches for a key a provider only holds.

Returns ​

Promise<string | undefined>

Inherited from ​

KeyedAuthProvider.getMultiplayerToken