Files
Grasscutter/src/main/java/emu/grasscutter/auth/HandbookAuthenticator.java
T
2023-05-16 06:47:42 +00:00

35 lines
1.1 KiB
Java

package emu.grasscutter.auth;
import emu.grasscutter.auth.AuthenticationSystem.AuthenticationRequest;
import lombok.Builder;
import lombok.Getter;
/** Handles player authentication for the web GM handbook. */
public interface HandbookAuthenticator {
@Getter
@Builder
class Response {
private final int status;
private final String body;
}
/**
* Invoked when the user requests to authenticate. This should respond with a page that allows the
* user to authenticate.
*
* @route GET /handbook/authenticate
* @param request The authentication request.
*/
void presentPage(AuthenticationRequest request);
/**
* Invoked when the user requests to authenticate. This is called when the user submits the
* authentication form. This should respond with HTML that sends a message to the GM Handbook. See
* the default handbook authentication page for an example.
*
* @param request The authentication request.
* @return The response to send to the client.
*/
Response authenticate(AuthenticationRequest request);
}