# How we authenticate our users

Currently, **GY Accounts** provides 3 different authentication methods.

* **Username/Email-Password Authentication**
* **Google Authentication** *(OAuth 2.0)*
* **Device Authentication**

## **Username/Email-Password Authentication**

Using our custom authentication forms, the very first option that will show up on those forms will be the **Username/Email-Password** method, which allows users to sign in using a username or an email and a password. If a user wants to sign up, the process will require all 3 fields to be completed, username, email and password.

<figure><img src="https://174962518-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FO3yUXPmSggOQxm6ZHUYq%2Fuploads%2FsS30umMIMY0uiLmy44Wu%2Fimage.png?alt=media&#x26;token=949ed87d-09c7-41ab-b2a0-bd18df2e37e8" alt="" width="318"><figcaption><p><em>GYCODING's Authentication Form</em></p></figcaption></figure>

## Google Authentication

At the bottom of our custom authentication forms, there is a button that redirects users to the **Google Authentication** form *(OAuth 2.0)*, where they can sign in using an existing Google account, or create a new one.

## Device Authentication

There are some specific situations where we provide the possibility to authenticate using an autogenerated user code and a specific URL that takes you to the device form. \
Using the correct user code in that form will take the user to the main authentication form, where one of the other authentication methods can be chosen to authenticate.

This authentication method is kind of specific, so it is not as common and direct as the other ones mentioned before.

At the same time, it is important to understand that the **Device Authentication** method does not depend on any specific device, it could be used by any device with a web browser and internet connection.
