# Github **GET /v1/auth/oauth/github/begin** Client side **public endpoint** to generate a `redirect_url` for OAuth provider that will direct the user to sign in via Github. User will first sign in to their Github account, Github will then call the MoonKey callback URL set during the setup process for Github provider. Once MoonKey completes the OAuth flow with Github, we will redirect back to the login/signup redirect URLs set for your App with an `internal token` for this session. You can then use this token to verify with our `VerifyOAuthToken` endpoint to retrieve the authenticated user and optionally the original `access_token` and `refresh_token` from Github. ## HTTP Request `GET /v1/auth/oauth/github/begin` ## Query String Example ``` json /v1/auth/oauth/github/begin?public_token=pk_live_bGcnsYLoObxCSvUcCNBEWgWkOFIBD6JQhx1bMTakf1R6QWrR&redirect=true&login_redirect_url=http://localhost:8080/register ``` ## Returns A successful response returns an object with a `redirect_url` property. If `redirect` query parameter is set to true, a response with status code 302 will be returned, which allows the browser to automatically redirect to the returned `redirect_url` without custom client side redirect logic. ## Servers - Production: https://api.moonkey.fun (Production) ## Parameters #### Query parameters - **public_token** (string) `Required` Public token of the App, public token can be exposed in the frontend and client side SDKs. - **redirect** (boolean) `Optional` Determines if the response should be a 302 auto redirect instead of returning the `redirect_url` in the json with a 200 status code. - **login_redirect_url** (string) `Optional` If an existing user is found, this URL will be used for redirect upon the completion of the OAuth flow - **registration_redirect_url** (string) `Optional` If a new user is created, this URL will be used for redirect upon the completion of the OAuth flow ## Responses ### 200: #### Body Parameters: application/json (object) - **redirect_url** (string) ### 302: Found #### Headers - **Location** (string) #### Body Parameters: application/json (object) - **redirect_url** (string) [Powered by Bump.sh](https://bump.sh)