Go to the source code of this file.
◆ pg_start_oauthbearer()
Definition at line 3063 of file oauth-curl.c.
3064{
3067
3069 return -1;
3070
3071
3072
3073
3074
3075
3079
3082
3083
3084
3085
3086
3087
3091
3092
3093
3094
3095
3096
3098
3101
3102
3104 if (!conninfo)
3106
3108 {
3109 if (!opt->val)
3110 continue;
3111
3112 if (
strcmp(opt->keyword,
"oauth_client_id") == 0)
3113 {
3115 if (!
actx->client_id)
3117 }
3118 else if (
strcmp(opt->keyword,
"oauth_client_secret") == 0)
3119 {
3121 if (!
actx->client_secret)
3123 }
3124 else if (
strcmp(opt->keyword,
"oauth_ca_file") == 0)
3125 {
3129 }
3130 }
3131
3134
3135 actx->discovery_uri =
request->v1.openid_configuration;
3138
3142
3144 {
3146 return -1;
3147 }
3148
3150 {
3152 return -1;
3153 }
3154
3155 return 0;
3156
3158 if (conninfo)
3160
3162 return -1;
3163}
#define Assert(condition)
PQconninfoOption * PQconninfo(PGconn *conn)
void PQconninfoFree(PQconninfoOption *connOptions)
static bool setup_multiplexer(struct async_ctx *actx)
static void append_actx_error(PGoauthBearerRequestV2 *req, struct async_ctx *actx)
static PostgresPollingStatusType pg_fe_run_oauth_flow(PGconn *conn, struct PGoauthBearerRequest *request, int *altsock)
static void pg_fe_cleanup_oauth_flow(PGconn *conn, PGoauthBearerRequest *request)
static bool initialize_curl(PGoauthBearerRequestV2 *req)
static bool setup_curl_handles(struct async_ctx *actx)
static uint32 oauth_parse_debug_flags(void)
void initPQExpBuffer(PQExpBuffer str)
References append_actx_error(), Assert, calloc, conn, fb(), initialize_curl(), initPQExpBuffer(), _PQconninfoOption::keyword, libpq_gettext, oauth_parse_debug_flags(), pg_fe_cleanup_oauth_flow(), pg_fe_run_oauth_flow(), PGINVALID_SOCKET, PQconninfo(), PQconninfoFree(), setup_curl_handles(), and setup_multiplexer().