Auth App serializers documentation

class auth_app.serializers.GitHubAuthCallbackSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer to handle the callback from Github OAuth2.

Parameters:
  • code – OAuth2 code returned by Github.

  • state – State token to prevent CSRF.

Returns:

User’s email, id and JWT token

create(validated_data)[source]

Verifies OAuth2Session and sign up/in user and returns JWT token

class auth_app.serializers.GitHubAuthInitSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer to initiate Github OAuth2 flow.

Returns:

Authentication Github url and state

create(validated_data)[source]

Return github authorization url and state

class auth_app.serializers.GoogleAuthCallbackSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer to handle the callback from Google OAuth2.

Parameters:
  • code – OAuth2 code returned by Google.

  • state – State token to prevent CSRF.

Returns:

User’s email, id and JWT token

create(validated_data)[source]

Verifies OAuth2Session and sign up/in user and returns JWT token

class auth_app.serializers.GoogleAuthInitSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer to initiate Google OAuth2 flow.

Returns:

Authentication Google url and state

create(validated_data)[source]

Return google authorization url and state

class auth_app.serializers.UserAuthSerializer(*args, **kwargs)[source]

Bases: Serializer

Seriazlier verify JWT token for user authentication.

Parameters:

token – JWT token.

Returns:

User instance

validate(attrs)[source]

Validates token

class auth_app.serializers.UserLogInSerializer(*args, **kwargs)[source]

Bases: Serializer

Serializer for user login.

Parameters:
  • email – Email address.

  • password – Plain-text password.

Returns:

User data and JWT token.

validate(attrs)[source]

Validates email/password, find user and returns JWT token

class auth_app.serializers.UserSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer for representing a user

Parameters:
  • id – Stringified Id.

  • username – User’s username.

  • email – Email of the user.

Returns:

True if successful, False otherwise.

class Meta[source]

Bases: object

fields = ['id', 'username', 'email']
model

alias of CustomUser

get_id(obj)[source]
class auth_app.serializers.UserSignUpSerializer(*args, **kwargs)[source]

Bases: ModelSerializer

Serializer for user sign up.

Parameters:
  • username – Desired username.

  • email – Desired user’s email address.

  • password – User’s plain text password (write-only)/

Returns:

New user instance with JWT token attached

class Meta[source]

Bases: object

fields = ['username', 'email', 'password']
model

alias of CustomUser

create(validated_data)[source]

Creates new user and returns token

validate(attrs)[source]

Validates email, and uniqness of it and username