The in-game login system for Grasscutter is based on oauth and GCAuth.

Overview

GCAuth OAuth

The in-game login system for Grasscutter is based on oauth and GCAuth.

Current Features:

  • Use Twitter oauth to login
  • Custom pages

Important Notes:

This plugin is made to run on the current Development branch of Grasscutter. \

This plugin is in very early development and only have the backend now. Frontend is extermely hardcore.

Setup

Download Plugin Jar

See releases.

Compile yourself

  1. Pull the latest code from github using git clone https://github.com/Xtao-Team/GCAuth-OAuth in your terminal of choice.
  2. Locate your grasscutter server and copy the grasscutter server jar into the newly created GCAuth-OAuth/lib folder
  3. Navigate back into the project root folder called GCAuth-OAuth folder and run gradlew build (cmd) or ./gradlew build (Powershell, Linux & Mac).
  4. Assuming the build succeeded, in your file explorer navigate to the GCAuth-OAuth folder, you should have a gcauth_oauth.jar file, copy it.
  5. Navigate to your Grasscutter server, find the plugins folder and paste the gcauth_oauth.jar into it.
  6. Start your server.

...Jump to next section...

Usage

  1. Put the all the frontend files into the folder GRASSCUTTER_RESOURCE/plugins/GCAuth/OAuth. Note that your must have login.html for now. You are free to put any other dynamiclly loaded file(e.g. .js, .css) in that folder. Check the last section for current available frontend.

  2. Put the gcauth.jar file into the plugins folder of your grasscutter server. GCAuth

  3. Log in to your server and you should be able to log in with Twitter account. (make sure webapi-os.account.hoyoverse.com is in your proxy list)

Your final plugins' folder's directory structure should look similar to this

plugins
│   gcauth.jar
│   gcauth_oauth.jar
│   ...
└───GCAuth
    │   config.json
    └───OAuth
        │   login.html
        │   ...

Frontend

Recommend

TwitterTheme

  • Login page
  • Register page
  • Change password page
  • Error notice

Default

en zh

  • Login page
You might also like...

Kafdrop configured for Openshift, with OAuth proxy

Kafdrop configured for Openshift, with OAuth proxy

Deploying Kafdrop to Openshift This repo takes the original Kafdrop and extends it to deploy it on Openshift. Integration with Kafka Clusters managed

Jul 17, 2022

Spring Boot & MongoDB Login and Registration example with JWT, Spring Security, Spring Data MongoDB

Spring Boot & MongoDB Login and Registration example with JWT, Spring Security, Spring Data MongoDB

Spring Boot Login and Registration example with MongoDB Build a Spring Boot Auth with HttpOnly Cookie, JWT, Spring Security and Spring Data MongoDB. Y

Dec 30, 2022

Spring Boot Security Login example with JWT and H2 example

 Spring Boot Security Login example with JWT and H2 example

Spring Boot Security Login example with JWT and H2 example Appropriate Flow for User Login and Registration with JWT and HttpOnly Cookie Spring Boot R

Dec 21, 2022

A powerful API whichs allows developers to change a players name and UUID on login.

UUIDSwitcher An easy to use but powerful API for spigot servers which gives developers control over the UUID and name a player logs in with. This chan

Nov 30, 2022

In the application, users should be able to register, login and create/update/delete their own to-do lists.

Mini TO-DO app About the project Todoist In the application, users should be able to register, login and create/update/delete their own to-do lists. Y

Nov 22, 2022

This is a small library written in Java for minecraft login.

minecraft-auth-library This is a small library written in Java for minecraft login. Usage: Login with microsoft MinecraftAuthenticator minecraftAuthen

Feb 5, 2022

Spring Boot Simple Login & Registration + MyBatis + MySQL

springboot-mybatis-security-login-register A simple security login & registration module using Spring Boot, Spring Security, MyBatis Framework and MyS

May 31, 2022

Keycloak Login Recaptcha

Keycloak Login Recaptcha

Keycloak Login Recaptcha Keycloak supports the recaptcha in the registration flow but not in the login flow at this time. That's why this repository i

Jun 4, 2022

Google Oauth2 login scenario with Spring boot + React

Google Oauth2 login scenario with Spring boot + React

spring-react-google-oauth2 Google Oauth2 login scenario with Spring boot + React Below diagram is based on oauth implicit flow. Result How to start Pr

Nov 24, 2022
Comments
  • Failed to enable plugin: GCAuth_OAuth java.lang.NullPointerException: Cannot read field

    Failed to enable plugin: GCAuth_OAuth java.lang.NullPointerException: Cannot read field "rateLimit" because the return value of "me.exzork.gcauth.GCAuth.getConfig()" is null

    • StackTrace:
    <ERROR:PluginManager> Failed to enable plugin: GCAuth_OAuth
    java.lang.NullPointerException: Cannot read field "rateLimit" because the return value of "me.exzork.gcauth.GCAuth.getConfig()" is null
            at me.exzork.gcauth.handler.GCAuthExternalAuthenticator.<init>(GCAuthExternalAuthenticator.java:24)
            at com.xtaolabs.gcauth_oauth.handler.GCAuthAuthenticationHandler.<init>(GCAuthAuthenticationHandler.java:16)
            at com.xtaolabs.gcauth_oauth.GCAuth_OAuth.loadTwitterLogin(GCAuth_OAuth.java:41)
            at com.xtaolabs.gcauth_oauth.GCAuth_OAuth.onEnable(GCAuth_OAuth.java:28)
            at emu.grasscutter.plugin.PluginManager.lambda$enablePlugins$2(PluginManager.java:200)
            at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)
            at emu.grasscutter.plugin.PluginManager.enablePlugins(PluginManager.java:197)
            at emu.grasscutter.Grasscutter.main(Grasscutter.java:164)
    
    • My Files in plugin folder:
    root@instance-3q7c18wo:~/Server/27/plugins# tree
    .
    ├── GCAuth
    │   ├── config.json
    │   └── OAuth
    │       ├── css
    │       │   ├── app.11404339.css
    │       │   └── regeister.css
    │       ├── imgs
    │       │   ├── close.svg
    │       │   └── logo.png
    │       ├── js
    │       │   ├── about.6b74533b.js
    │       │   ├── ...
    │       │   └── chunk-vendors-legacy.dccdb30c.js.map
    │       ├── login.html
    │       └── Twitter_Authorize_Res
    │           ├── js_inst
    │           ├── tfw-base.3baf723b92aa68729f921c77ca3e3c1315116392.css
    │           └── yXprk4Zb
    ├── gcauth-2.4.0.jar
    ├── GCAuth_OAuth
    ├── gcauth_oauth-1.2.0.jar
    ├── mojoconfig.json
    ├── mojoconsole
    ├── mojoconsole.jar
    └── mojoconsole-plus
    
    9 directories, 25 files
    
    • Plugin infos:
    root@instance-3q7c18wo:~/Server/27# ./gpm list
    [Info] Found config.json
    ┌──────────────────┬───────────────────┬─────────────────────────────────────────────────────────────────────────────────┐
    │       name       │      version      │                                   description                                   │
    ├──────────────────┼───────────────────┼─────────────────────────────────────────────────────────────────────────────────┤
    │   GCAuth_OAuth   │       1.1.3       │     The in-game login system for Grasscutter is based on oauth and GCAuth.      │
    │      GCAuth      │       2.2.0       │ GCAuth is a plugin that allows you to implement authentication for your server. │
    │ mojoconsole-plus │ dev-1.2.0-f5dc9f3 │                      Grasscutter In Game Web Based Console                      │
    └──────────────────┴───────────────────┴─────────────────────────────────────────────────────────────────────────────────┘
    
    opened by SwetyCore 2
  • This plugins cannot be loaded

    This plugins cannot be loaded

    It shows: ERROR:PluginManager 无法启用插件:GCAuth_OAuth java.lang.NoClassDefFoundError: emu/grasscutter/Configuration at com.xtaolabs.gcauth_oauth.GCAuth_OAuth.onEnable(GCAuth_OAuth.java:23) at emu.grasscutter.plugin.PluginManager.lambda$enablePlugins$2(PluginManager.java:202) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) at emu.grasscutter.plugin.PluginManager.enablePlugins(PluginManager.java:199) at emu.grasscutter.Grasscutter.main(Grasscutter.java:160) Caused by: java.lang.ClassNotFoundException: emu.grasscutter.Configuration at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 5 common frames omitted

    opened by lilith-rong 0
Releases(v1.2.0)
Owner
Xtao-Team
A garbage team.
Xtao-Team
Spring Boot Login and Registration example with MySQL, JWT, Rest Api - Spring Boot Spring Security Login example

Spring Boot Login example with Spring Security, MySQL and JWT Appropriate Flow for User Login and Registration with JWT Spring Boot Rest Api Architect

null 58 Jan 5, 2023
A plugin that serving completely in-game webview based console backend for grasscutter

MojoConsolePlus EN|中文 MojoConsolePlus(MCP) is a Grasscutter plugin (Apart from 4Benj's GCGM plugin) and it's goal is to implement fully in-game webwie

null 68 Dec 13, 2022
A plugin of Grasscutter for send in-game mail conveniently

MeaMailPlus - Grasscutter Mail enhancements MeaMailPlus is a plugin of Grasscutter, you can use this plugin to send your mail conveniently. English |

ButterCookies 118 Dec 13, 2022
Anime game server software reimplementation. Planning to replace @Grasscutters/Grasscutter.

NOTE This is a rewritten version of Grasscutter. Find the original project at Grasscutters/Grasscutter. Grasscutter TODO: Write README.md Players Guid

Magix 11 Dec 1, 2022
A fast, light and cloud native OAuth 2.0 authorization microservices based on light-4j

A fast, light weight and cloud native OAuth 2.0 Server based on microservices architecture built on top of light-4j and light-rest-4j frameworks. Stac

null 291 Dec 17, 2022
Team 5468's 2022 FRC robot code. This code is written in Java and is based off of WPILib's Java control system and utilizes a command based system

FRC 2022 Team 5468's 2022 FRC robot code. This code is written in Java and is based off of WPILib's Java control system and utilizes a command based s

null 4 Oct 4, 2022
A plugin of Grasscutter for send regular notice.

MeaNotice - Grasscutter Regular Notice Plugin MeaNotice is a plugin of Grasscutter, you can use this plugin to publish notifications in-game regularly

ButterCookies 39 Oct 17, 2022
基于 Spring Security OAuth 的统一账号管理平台

基于 Spring Security OAuth 的统一账号管理平台 前后端演示地址: https://tao.flizi.cn 支持密码模式演示 输入账号 123456, 密码: 123456, 以及验证码后点击登录 支持授权登录演示 输入手机号 123456, 密码: 123456, 以及验证码

知一 132 Nov 9, 2022
Spring Boot OAuth 2.0 Client Implementation + MySQL Integration

Spring Boot OAuth 2.0 Client + MySQL 1. What is OAuth 2.0 ? The OAuth 2.0 authorization framework enables a third-party application to obtain limited

Salah Eddine Zemmouri 8 May 12, 2022
Zero-Dependency RFC 8252 OAuth 2.0 Authorization Flow

Tiny OAuth2 Client This is a minimal zero-dependency implementation of the RFC 8252 OAuth 2.0 for Native Apps, relying on Loopback Interface Redirecti

Coffee Libs ☕️ 4 Jun 17, 2022