@@ -270,6 +270,49 @@ def get_library() -> Optional[ctypes.CDLL]:
270270 ("gopher_auth_config_get_int" , [c_void_p , c_char_p , POINTER (c_int )], c_int32 ),
271271 ("gopher_auth_config_get_bool" , [c_void_p , c_char_p , POINTER (c_bool )], c_int32 ),
272272 ("gopher_auth_config_get_exchange_idps" , [c_void_p , POINTER (c_char_p )], c_int32 ),
273+ # OAuthClient
274+ ("gopher_auth_oauth_client_create" , [POINTER (c_void_p ), c_char_p , c_char_p , c_char_p , c_int ], c_int32 ),
275+ ("gopher_auth_oauth_client_destroy" , [c_void_p ], c_int32 ),
276+ ("gopher_auth_oauth_exchange_code" , [c_void_p , c_char_p , c_char_p , c_char_p , POINTER (c_void_p )], c_int32 ),
277+ ("gopher_auth_oauth_refresh_token" , [c_void_p , c_char_p , POINTER (c_void_p )], c_int32 ),
278+ ("gopher_auth_oauth_token_exchange" , [c_void_p , c_char_p , c_char_p , c_char_p , c_char_p , POINTER (c_void_p )], c_int32 ),
279+ ("gopher_auth_oauth_register_client" , [c_void_p , c_char_p , c_char_p , POINTER (c_char_p ), c_int , c_char_p , POINTER (c_void_p )], c_int32 ),
280+ ("gopher_auth_token_response_get_access_token" , [c_void_p , POINTER (c_char_p )], c_int32 ),
281+ ("gopher_auth_token_response_get_refresh_token" , [c_void_p , POINTER (c_char_p )], c_int32 ),
282+ ("gopher_auth_token_response_get_expires_in" , [c_void_p , POINTER (c_int64 )], c_int32 ),
283+ ("gopher_auth_token_response_get_error" , [c_void_p , POINTER (c_char_p )], c_int32 ),
284+ ("gopher_auth_token_response_is_success" , [c_void_p ], c_bool ),
285+ ("gopher_auth_token_response_destroy" , [c_void_p ], c_int32 ),
286+ ("gopher_auth_registration_response_get_client_id" , [c_void_p , POINTER (c_char_p )], c_int32 ),
287+ ("gopher_auth_registration_response_get_client_secret" , [c_void_p , POINTER (c_char_p )], c_int32 ),
288+ ("gopher_auth_registration_response_is_success" , [c_void_p ], c_bool ),
289+ ("gopher_auth_registration_response_destroy" , [c_void_p ], c_int32 ),
290+ # SessionManager
291+ ("gopher_auth_session_manager_create" , [POINTER (c_void_p ), c_int ], c_int32 ),
292+ ("gopher_auth_session_manager_destroy" , [c_void_p ], c_int32 ),
293+ ("gopher_auth_session_store_token" , [c_void_p , c_char_p , c_char_p , c_char_p , c_int64 ], c_int32 ),
294+ ("gopher_auth_session_get_access_token" , [c_void_p , c_char_p , POINTER (c_char_p )], c_int32 ),
295+ ("gopher_auth_session_get_refresh_token" , [c_void_p , c_char_p , POINTER (c_char_p )], c_int32 ),
296+ ("gopher_auth_session_has_valid_token" , [c_void_p , c_char_p , POINTER (c_bool )], c_int32 ),
297+ ("gopher_auth_session_cleanup" , [c_void_p ], c_int32 ),
298+ ("gopher_auth_session_generate_id" , [POINTER (c_char_p )], c_int32 ),
299+ # Auto-Refresh
300+ ("gopher_auth_auto_refresh" , [c_void_p , c_void_p , c_void_p , c_char_p , POINTER (c_char_p ), POINTER (GopherAuthValidationResult )], c_int32 ),
301+ # Validation
302+ ("gopher_auth_validate_idp" , [c_char_p , c_char_p , POINTER (c_bool )], c_int32 ),
303+ ("gopher_auth_validate_all_scopes" , [c_char_p , c_char_p , POINTER (c_bool )], c_int32 ),
304+ ("gopher_auth_validate_any_scopes" , [c_char_p , c_char_p , POINTER (c_bool )], c_int32 ),
305+ # URL Utils
306+ ("gopher_auth_url_encode" , [c_char_p , POINTER (c_char_p )], c_int32 ),
307+ ("gopher_auth_url_decode" , [c_char_p , POINTER (c_char_p )], c_int32 ),
308+ # Metadata Builders
309+ ("gopher_auth_metadata_build_protected_resource" , [c_char_p , c_char_p , c_char_p , POINTER (c_char_p )], c_int32 ),
310+ ("gopher_auth_metadata_build_oauth_server" , [c_char_p , c_char_p , c_char_p , c_char_p , c_char_p , c_char_p , POINTER (c_char_p )], c_int32 ),
311+ ("gopher_auth_metadata_build_oidc_discovery" , [c_char_p , c_char_p , c_char_p , c_char_p , c_char_p , c_char_p , c_char_p , c_char_p , POINTER (c_char_p )], c_int32 ),
312+ # HTTP Parsing
313+ ("gopher_auth_http_extract_bearer_token" , [c_char_p , POINTER (c_char_p )], c_int32 ),
314+ ("gopher_auth_http_extract_method" , [c_char_p , POINTER (c_char_p )], c_int32 ),
315+ ("gopher_auth_http_extract_path" , [c_char_p , POINTER (c_char_p )], c_int32 ),
273316 # Utility
274317 ("gopher_auth_free_string" , [c_char_p ], None ),
275318 ("gopher_auth_generate_www_authenticate" , [c_char_p , c_char_p , c_char_p , POINTER (c_char_p )], c_int32 ),
@@ -421,6 +464,49 @@ def get_auth_functions() -> Dict[str, Any]:
421464 "config_get_int" : _get_function ("gopher_auth_config_get_int" ),
422465 "config_get_bool" : _get_function ("gopher_auth_config_get_bool" ),
423466 "config_get_exchange_idps" : _get_function ("gopher_auth_config_get_exchange_idps" ),
467+ # OAuthClient
468+ "oauth_client_create" : _get_function ("gopher_auth_oauth_client_create" ),
469+ "oauth_client_destroy" : _get_function ("gopher_auth_oauth_client_destroy" ),
470+ "oauth_exchange_code" : _get_function ("gopher_auth_oauth_exchange_code" ),
471+ "oauth_refresh_token" : _get_function ("gopher_auth_oauth_refresh_token" ),
472+ "oauth_token_exchange" : _get_function ("gopher_auth_oauth_token_exchange" ),
473+ "oauth_register_client" : _get_function ("gopher_auth_oauth_register_client" ),
474+ "token_response_get_access_token" : _get_function ("gopher_auth_token_response_get_access_token" ),
475+ "token_response_get_refresh_token" : _get_function ("gopher_auth_token_response_get_refresh_token" ),
476+ "token_response_get_expires_in" : _get_function ("gopher_auth_token_response_get_expires_in" ),
477+ "token_response_get_error" : _get_function ("gopher_auth_token_response_get_error" ),
478+ "token_response_is_success" : _get_function ("gopher_auth_token_response_is_success" ),
479+ "token_response_destroy" : _get_function ("gopher_auth_token_response_destroy" ),
480+ "registration_response_get_client_id" : _get_function ("gopher_auth_registration_response_get_client_id" ),
481+ "registration_response_get_client_secret" : _get_function ("gopher_auth_registration_response_get_client_secret" ),
482+ "registration_response_is_success" : _get_function ("gopher_auth_registration_response_is_success" ),
483+ "registration_response_destroy" : _get_function ("gopher_auth_registration_response_destroy" ),
484+ # SessionManager
485+ "session_manager_create" : _get_function ("gopher_auth_session_manager_create" ),
486+ "session_manager_destroy" : _get_function ("gopher_auth_session_manager_destroy" ),
487+ "session_store_token" : _get_function ("gopher_auth_session_store_token" ),
488+ "session_get_access_token" : _get_function ("gopher_auth_session_get_access_token" ),
489+ "session_get_refresh_token" : _get_function ("gopher_auth_session_get_refresh_token" ),
490+ "session_has_valid_token" : _get_function ("gopher_auth_session_has_valid_token" ),
491+ "session_cleanup" : _get_function ("gopher_auth_session_cleanup" ),
492+ "session_generate_id" : _get_function ("gopher_auth_session_generate_id" ),
493+ # Auto-Refresh
494+ "auto_refresh" : _get_function ("gopher_auth_auto_refresh" ),
495+ # Validation
496+ "validate_idp" : _get_function ("gopher_auth_validate_idp" ),
497+ "validate_all_scopes" : _get_function ("gopher_auth_validate_all_scopes" ),
498+ "validate_any_scopes" : _get_function ("gopher_auth_validate_any_scopes" ),
499+ # URL Utils
500+ "url_encode" : _get_function ("gopher_auth_url_encode" ),
501+ "url_decode" : _get_function ("gopher_auth_url_decode" ),
502+ # Metadata Builders
503+ "metadata_build_protected_resource" : _get_function ("gopher_auth_metadata_build_protected_resource" ),
504+ "metadata_build_oauth_server" : _get_function ("gopher_auth_metadata_build_oauth_server" ),
505+ "metadata_build_oidc_discovery" : _get_function ("gopher_auth_metadata_build_oidc_discovery" ),
506+ # HTTP Parsing
507+ "http_extract_bearer_token" : _get_function ("gopher_auth_http_extract_bearer_token" ),
508+ "http_extract_method" : _get_function ("gopher_auth_http_extract_method" ),
509+ "http_extract_path" : _get_function ("gopher_auth_http_extract_path" ),
424510 # Utility
425511 "free_string" : _get_function ("gopher_auth_free_string" ),
426512 "generate_www_authenticate" : _get_function ("gopher_auth_generate_www_authenticate" ),
0 commit comments