PHPackages                             4players/odin-tokens - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. 4players/odin-tokens

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

4players/odin-tokens
====================

A lightweight token generator for 4Players ODIN

v1.2.0(2y ago)181[1 PRs](https://github.com/4Players/odin-tokens-php/pulls)ISCPHPPHP &gt;=7.2

Since Jun 9Pushed 6mo ago2 watchersCompare

[ Source](https://github.com/4Players/odin-tokens-php)[ Packagist](https://packagist.org/packages/4players/odin-tokens)[ Docs](https://www.4players.io)[ RSS](/packages/4players-odin-tokens/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (6)Used By (0)

4players/odin-tokens
====================

[](#4playersodin-tokens)

This is a lightweight package to generate API keys and tokens used for ODIN Voice by 4Players.

[ODIN Voice](https://odin.4players.io/voice-chat/) by [4Players GmbH](https://www.4players.io/company/about_us/) is a cross-platform software development kit (SDK) that enables developers to integrate voice and video chat technology into multiplayer games, apps and websites. Check out our [full online documentation](https://docs.4players.io/voice/)!

Flowchart
---------

[](#flowchart)

 ```
graph TB
  RandomBytes[Random Bytes] --> AccessKey;
  AccessKey --> PublicKey;
  AccessKey --> SecretKey;
  PublicKey --> KeyId;
```

      Loading Example
-------

[](#example)

```
use FourPlayers\Odin\TokenGenerator;

$accessKey = "";
$generator = new TokenGenerator($accessKey);
$token = $generator->createToken("my room", "john doe");

echo "generated a new token: $token\n"
```

Terminology
-----------

[](#terminology)

TermDescriptionAccessKeyGives access to the ODIN network for a customer. It is a 44 character long Base64-String, which consists of a version, random bytes and a checksum.SecretKeyGenerated from the AccessKey, it is based on the Ed25519-Curve and used to sign a Token generated by the customer.PublicKeyGenerated from the AccessKey, it is based on the Ed25519-Curve and must be uploaded to 4Players so that a generated Token can be verified.KeyIdA shortened PublicKey, included in Token, making it possible to identify what PublicKey must be used to verify the Token.TokenA [JWT](https://en.wikipedia.org/wiki/JSON_Web_Token) given to the game clients that allows them to connect to a voice/video chat room in the ODIN network.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance47

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~90 days

Total

5

Last Release

1070d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9bfafc2617760d684f7ea4cb2cf9c5732bda188fcbd4f26216a9cc7ea257ee9b?d=identicon)[svenpaulsen](/maintainers/svenpaulsen)

---

Top Contributors

[![svenpaulsen](https://avatars.githubusercontent.com/u/7894194?v=4)](https://github.com/svenpaulsen "svenpaulsen (4 commits)")[![4P-Reinhard](https://avatars.githubusercontent.com/u/48131469?v=4)](https://github.com/4P-Reinhard "4P-Reinhard (1 commits)")

---

Tags

authenticationed25519jwtphpjwtAuthenticationEd25519

### Embed Badge

![Health badge](/badges/4players-odin-tokens/health.svg)

```
[![Health](https://phpackages.com/badges/4players-odin-tokens/health.svg)](https://phpackages.com/packages/4players-odin-tokens)
```

###  Alternatives

[tymon/jwt-auth

JSON Web Token Authentication for Laravel and Lumen

11.5k49.1M350](/packages/tymon-jwt-auth)[paragonie/sodium_compat

Pure PHP implementation of libsodium; uses the PHP extension if it exists

934131.6M155](/packages/paragonie-sodium-compat)[php-open-source-saver/jwt-auth

JSON Web Token Authentication for Laravel and Lumen

8359.8M53](/packages/php-open-source-saver-jwt-auth)[auth0/auth0-php

PHP SDK for Auth0 Authentication and Management APIs.

40820.2M68](/packages/auth0-auth0-php)[auth0/login

Auth0 Laravel SDK. Straight-forward and tested methods for implementing authentication, and accessing Auth0's Management API endpoints.

2745.0M3](/packages/auth0-login)[rbdwllr/reallysimplejwt

A really simple library to generate user authentication JSON Web Tokens.

2902.4M22](/packages/rbdwllr-reallysimplejwt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
