Skip to main content

Gitea

Using Casdoor for authentication in Gitea

Gitea is a community managed lightweight code hosting solution written in Go. It is published under the MIT license.

Gitea supports 3rd-party authentication including Oauth, which make it possible to use Casdoor to authenticate it. Here is the tutorial about achieving this.

Preparations

To configure Gitea to use Casdoor as identification provider, you need to have Gitea installed as well as access to administrator account.

For more information about how to download, install and run Gitea see https://docs.gitea.io/en-us/install-from-binary/

You are supposed to create an administrator account during installatiom. If you didn't, the administrator will be the first registered user. Please use this account proceed the following procedures.

1. Create an Casdoor application

Like this

Please remember the client ID and client Secret for next step.

Please don't fill in the callback url in this step. The url depends on the configurations on gitea in next step. Later we will come back to set a correct callback url.

2. Configure Gitea to use Casdoor

Log in as administrator. Go to 'Site Administration' page via drop-down menu in the upper right corner. Then Switch to "Authentication Source" Page.

You are supposed to see something like this.

Press the "Add Authentication Source" Button, and fill in the form like this.

Please choose he authentication type as "oauth2".

Please input a name for this authentication source and remember this name. This name will be used for the callback_url in next step.

Plese choose the OpenID Connect Oauth2 Provider.

Fill in the client ID and client secret remembered in previous step.

Fill in the openid connect auto discovery url, which is supposed to be <your endpoint of casdoor>/.well-known/openid-configuration.

Fill in the other optional configuration items as you wish. And then submit it.

Submit the form.

3. Configure the callback url in casdoor

Go back to the application edit page in step 2, and add the following callback url:

<endpoint of gitea>/user/oauth2/<authentication source name>/callback

The <authentication source name>is the name for authentication source in Gitea in previous step.

4. Have a try on Gitea

Logout the current administrator account.

You are supposed to see this in login page:

Press the 'sign in with openid' button and you will be redirected to casdoor login page.

After login you will see this:

Follow the instructions and bind the casdoor account with a new gitea account or existing account.

Then everything will be working correctly.