Minecraft oAuth
一个免费使用的适合所有人的公共 Minecraft oAuth 解决方案
这是什么?
MC-oAuth 是一种 oAuth 解决方案,允许人们使用他们的 Minecraft 帐户登录网站,而无需输入用户名或密码。它易于使用且安全。(MC-oAuth 只允许拥有正版 Minecraft 帐户的人使用)
MC-oAuth 始终支持最新版本的 Minecraft,以确保 Minecraft 玩家可以顺利登录你的网站。MC-oAuth 可免费使用,你只需编写少量的 PHP 代码即可验证用户令牌。
你的网站用户所要做的就是进入 MC-oAuth 的 Minecraft 服务器,并向你提供他们获得的验证码。
在你的网站和 MC-oAuth 的 API 之间发送的所有数据都是通过 TLS 1.3 加密的。
对于用户
只需要进入下方的服务器即可获得 6 位验证码,在支持 MC-oAuth 的网站输入这 6 位验证码即可登录。
服务器
MC-oAuth 为不同版本的 Minecraft 提供了不同的服务器,如下所列:
srv.mc-oauth.net:25565
- 1.7.X ~ 1.16.X
如果你想让这个服务器 IP 看起来更漂亮些,可以对其进行 SRV 解析,如下面这个
mc-oauth.uncode.top
mc-oauth.uncode.top
由 UncodeStudio 维护,不保证永久可用
对于开发者
开始使用 MC-oAuth 非常简单,你需要做的就是向 API 发送一个带有用户令牌的请求,以获取用户的 uuid 和用户名。
以下是通过 Node.js 使用 node-fetch 库解析令牌的示例:
const fetch = require("node-fetch");
function oAuthToUUID(token) {
return fetch('https://mc-oauth.net/api/api?token', {
method: "GET",
headers: {
"token": token
}
}).then(response => {
return response.json();
}).then(json => {
return json.status === 'success' ? json.uuid : 'fail';
});
}
oAuthToUUID(uuid => {
if (uuid !== 'fail') {
// Handle successful login
} else {
// Handle invalid token
}
});
PHP 示例:
// PHP Example
// The user token provided by the user via POST
// Make sure the token is 6 digits!
$token = "user-token";
// Create a stream, to add our token header
$opts = [
"http" => [
"method" => "GET",
"header" => "Accept-language: en\r\n" .
"token: $token\r\n"
]
];
$context = stream_context_create($opts);
// Make our request to the API
$data = file_get_contents('https://mc-oauth.net/api/api?token', false, $context);
// Decode the json data
$json = json_decode($data);
// Check if the token is valid
if ($json->status == 'success') {
$username = $json->username;
$uuid = $json->uuid;
// Handle successful login
} else {
// Handle invalid token
}
这是一个用于检查用户令牌的 cURL 请求:curl -H "token: <user-token>" https://mc-oauth.net/api/api?token
所有 API 调用都通过 SSL 完成。
告诉你的用户加入 mc-oauth.net:25565
并在你的网站上输入获得的代码。请记住,令牌的有效期仅为 5 分钟。
API Responses、payloads 和 requests
MC-oAuth API 的 Endpoint 是 https://mc-oauth.net/api/api
,所有响应都是 JSON 格式的
Endpoint
https://mc-oauth.net/api/api?token
标头
token=<user-token>
返回值
{"status":"success|fail","message":"<error messages>","username":"<username>","uuid":"<uuid>"}
测试当前服务状态
https://mc-oauth.net/#test
关于 MC-oAuth
MC-oAuth 由 Deftware 开发