PokerUnicorn
Loading...
Searching...
No Matches
auth.h
Go to the documentation of this file.
1/*
2 * PokerUnicorn Server
3 * This project uses test network, NO real coin or NO real money involved.
4 * Copyright (C) 2023, Oğuzhan Eroğlu <meowingcate@gmail.com> (https://meowingcat.io)
5 * Licensed under GPLv3 License
6 * See LICENSE for more info
7 */
8
9#pragma once
10
15
16#include <stdbool.h>
17#include <libpq-fe.h>
18
19#include "sugar.h"
20#include "ref.h"
21#include "string.h"
22#include "account.h"
23
29
33#define PKRSRV_AUTH_SESSION_EXPIRATION 3600 // 1 hour
34
35typedef struct pkrsrv_auth_session pkrsrv_auth_session_t;
36
43 pkrsrv_string_t* token;
44 pkrsrv_account_t* account;
45};
46
55pkrsrv_auth_session_t* pkrsrv_auth_session_new(pkrsrv_account_t* account, pkrsrv_string_t* token);
56
64void pkrsrv_auth_session_free(pkrsrv_auth_session_t* session);
65
73pkrsrv_auth_session_t* pkrsrv_auth_session_create(pkrsrv_account_t* account);
74
83bool pkrsrv_auth_session_destroy(pkrsrv_auth_session_t* session);
84
93pkrsrv_auth_session_t* pkrsrv_auth_session_getby_token(PGconn* pg_conn, pkrsrv_string_t* token);
94
102bool pkrsrv_auth_session_refresh(pkrsrv_auth_session_t* session);
103
pkrsrv_string_t * token
Definition auth.h:43
pkrsrv_account_t * account
Definition auth.h:44
pkrsrv_auth_session_t * pkrsrv_auth_session_create(pkrsrv_account_t *account)
Creates a new authentication session.
void pkrsrv_auth_session_free(pkrsrv_auth_session_t *session)
Frees the memory occupied by an authentication session.
pkrsrv_auth_session_t * pkrsrv_auth_session_new(pkrsrv_account_t *account, pkrsrv_string_t *token)
Creates a new authentication session.
bool pkrsrv_auth_session_destroy(pkrsrv_auth_session_t *session)
Destroys an authentication session.
pkrsrv_auth_session_t * pkrsrv_auth_session_getby_token(PGconn *pg_conn, pkrsrv_string_t *token)
Returns the session by given token.
bool pkrsrv_auth_session_refresh(pkrsrv_auth_session_t *session)
Refreshes the session expiration time.
Authentication session object.
Definition auth.h:41
#define PKRSRV_REF_COUNTEDIFY()
Makes a structure reference-counted.
Definition ref.h:70