Iddawc
Handle the flow of OAuth2 and OpenID Connect authentication process from the client side.
|
#include <stdarg.h>
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
#include <yder.h>
#include "iddawc.h"
Functions | |
int | i_global_init () |
void | i_global_close () |
void | i_free (void *data) |
int | i_init_session (struct _i_session *i_session) |
void | i_clean_session (struct _i_session *i_session) |
int | i_set_response_type (struct _i_session *i_session, unsigned int i_value) |
int | i_set_result (struct _i_session *i_session, unsigned int i_value) |
int | i_set_int_parameter (struct _i_session *i_session, i_option option, unsigned int i_value) |
int | i_set_str_parameter (struct _i_session *i_session, i_option option, const char *s_value) |
int | i_set_additional_parameter (struct _i_session *i_session, const char *s_key, const char *s_value) |
int | i_set_additional_response (struct _i_session *i_session, const char *s_key, const char *s_value) |
int | i_add_claim_request (struct _i_session *i_session, int target, const char *claim, int essential, const char *value) |
int | i_remove_claim_request (struct _i_session *i_session, int target, const char *claim) |
int | i_set_parameter_list (struct _i_session *i_session,...) |
int | i_get_openid_config (struct _i_session *i_session) |
int | i_get_userinfo (struct _i_session *i_session, int get_jwt) |
int | i_get_userinfo_custom (struct _i_session *i_session, const char *http_method, struct _u_map *additional_query, struct _u_map *additional_headers) |
unsigned int | i_get_response_type (struct _i_session *i_session) |
unsigned int | i_get_result (struct _i_session *i_session) |
unsigned int | i_get_int_parameter (struct _i_session *i_session, i_option option) |
int | i_parse_redirect_to (struct _i_session *i_session) |
const char * | i_get_str_parameter (struct _i_session *i_session, i_option option) |
const char * | i_get_additional_parameter (struct _i_session *i_session, const char *s_key) |
const char * | i_get_additional_response (struct _i_session *i_session, const char *s_key) |
json_t * | i_get_server_configuration (struct _i_session *i_session) |
int | i_set_server_configuration (struct _i_session *i_session, json_t *j_openid_config) |
json_t * | i_get_server_jwks (struct _i_session *i_session) |
int | i_set_server_jwks (struct _i_session *i_session, json_t *j_jwks) |
json_t * | i_get_client_jwks (struct _i_session *i_session) |
int | i_set_client_jwks (struct _i_session *i_session, json_t *j_jwks) |
int | i_build_auth_url_get (struct _i_session *i_session) |
int | i_run_auth_request (struct _i_session *i_session) |
int | i_parse_token_response (struct _i_session *i_session, int http_status, json_t *j_response) |
int | i_run_token_request (struct _i_session *i_session) |
int | i_verify_id_token (struct _i_session *i_session) |
int | i_verify_jwt_access_token (struct _i_session *i_session, const char *aud) |
int | i_revoke_token (struct _i_session *i_session, int authentication) |
int | i_get_token_introspection (struct _i_session *i_session, json_t **j_result, int authentication, int get_jwt) |
int | i_register_client (struct _i_session *i_session, json_t *j_parameters, int update_session, json_t **j_result) |
int | i_get_registration_client (struct _i_session *i_session, json_t **j_result) |
int | i_manage_registration_client (struct _i_session *i_session, json_t *j_parameters, int update_session, json_t **j_result) |
int | i_delete_registration_client (struct _i_session *i_session) |
json_t * | i_export_session_json_t (struct _i_session *i_session) |
int | i_import_session_json_t (struct _i_session *i_session, json_t *j_import) |
char * | i_export_session_str (struct _i_session *i_session) |
int | i_import_session_str (struct _i_session *i_session, const char *str_import) |
int | i_import_session_from_registration (struct _i_session *i_session, json_t *j_registration) |
char * | i_generate_dpop_token (struct _i_session *i_session, const char *htm, const char *htu, time_t iat, int add_ath) |
int | i_perform_resource_service_request (struct _i_session *i_session, struct _u_request *http_request, struct _u_response *http_response, int refresh_if_expired, int bearer_type, int use_dpop, time_t dpop_iat) |
int | i_verify_dpop_proof (const char *dpop_header, const char *htm, const char *htu, time_t max_iat, const char *jkt, const char *access_token) |
char * | i_generate_client_assertion (struct _i_session *i_session, const char *aud) |
int | i_set_rich_authorization_request_str (struct _i_session *i_session, const char *type, const char *value) |
int | i_set_rich_authorization_request_json_t (struct _i_session *i_session, const char *type, json_t *j_value) |
int | i_remove_rich_authorization_request (struct _i_session *i_session, const char *type) |
json_t * | i_get_rich_authorization_request_json_t (struct _i_session *i_session, const char *type) |
char * | i_get_rich_authorization_request_str (struct _i_session *i_session, const char *type) |
int | i_run_device_auth_request (struct _i_session *i_session) |
int | i_run_par_request (struct _i_session *i_session) |
int | i_run_ciba_request (struct _i_session *i_session) |
char * | i_build_end_session_url (struct _i_session *i_session) |
int | i_verify_end_session_backchannel_token (struct _i_session *i_session, const char *token) |
int | i_close_session (struct _i_session *i_session, const char *sid) |