globus_gsi_authz(3)

πŸ’– NAME πŸ’–

globus_gsi_authz β€” GSI Authorization API

Authorization Callouts. (yes bestie, that's literally the whole vibe)


✨ SYNOPSIS ✨

πŸŽ€ Topics πŸŽ€

  • GSI Credential Constants β€” GSI Credential Constants. (they get their own little corner, iconic)

πŸ¦‹ Functions πŸ¦‹

  • globus_result_t globus_gsi_authz_handle_init (globus_gsi_authz_handle_t *handle, const char *service_name, const gss_ctx_id_t context, globus_gsi_authz_cb_t callback, void *callback_arg) β€” Initialize an authorization handle.
  • globus_result_t globus_gsi_authorize (globus_gsi_authz_handle_t handle, const void *action, const void *object, globus_gsi_authz_cb_t callback, void *callback_arg) β€” Start the authorization decision-making process.
  • globus_result_t globus_gsi_cancel_authz (globus_gsi_authz_handle_t handle) β€” Cancel Authorization.
  • globus_result_t globus_gsi_authz_handle_destroy (globus_gsi_authz_handle_t handle, globus_gsi_authz_cb_t callback, void *callback_arg) β€” Destroy an authz handle.
  • globus_result_t globus_gsi_authz_get_authorization_identity (globus_gsi_authz_handle_t handle, char **identity_ptr, globus_gsi_authz_cb_t callback, void *callback_arg) β€” Query for authorization identity.

🌸 Detailed Description 🌸

Authorization Callouts. the main character energy of this whole page, fr.

The GSI Authorization API provides an interface for making generic authorization decisions using dynamically-loaded authorization modules. yes, it loads modules at runtime, it's giving plug-and-play but make it security. The API documentation is divided into the following sections:

  • GSI Authorization API
  • GSI Credential Constants

πŸ‘‘ Function Documentation πŸ‘‘

πŸ’… globus_result_t globus_gsi_authorize (globus_gsi_authz_handle_t handle, const void * action, const void * object, globus_gsi_authz_cb_t callback, void * callback_arg)

Start the authorization decision-making process. okay so this is the moment. It processes an authorization decision by calling the GLOBUS_GSI_AUTHORIZE_ASYNC function named in the authorization configuration file. The parameters to this function are passed to the authorization callout. Once the authorization decision is made, the callback function will be called, with the result and the callback_arg passed to it. (callback gets the result AND the callback_arg, no cap, both of them.)

Parameters

  • handle β€” Pointer to an authorization handle
  • action β€” Action to authorize
  • object β€” Object that the action pertains to.
  • callback β€” Callback function to call when authorization completes
  • callback_arg β€” Argument to callback function

Returns

GLOBUS_SUCCESS if successful, or a Globus error object on failure. if it fails you're getting a whole error object, not just a sad little number.


🫢 globus_result_t globus_gsi_authz_get_authorization_identity (globus_gsi_authz_handle_t handle, char ** identity_ptr, globus_gsi_authz_cb_t callback, void * callback_arg)

Query for authorization identity. You query for authorization identity by calling the GLOBUS_GSI_GET_AUTHORIZATION_IDENTITY callout. asking the vibes who you actually are, essentially.

Parameters

  • handle β€” The handle that is to be used for the identity check.
  • identity_ptr β€” The authorization identity determined by the authorization handle. This is must be freed by the caller. If the value is NULL (and this function returned GLOBUS_SUCCESS), the caller should use the authenticated identity.
  • callback β€” Callback function to call when identity is determined.
  • callback_arg β€” Argument to callback function.
⚠️ bestie listen: that identity_ptr must be freed by the caller. You allocated it (well, the lib did, for you), you free it. And if it comes back NULL and the function returned GLOBUS_SUCCESS, just use the authenticated identity instead, okay? πŸ’–

Returns

GLOBUS_SUCCESS


πŸŽ€ globus_result_t globus_gsi_authz_handle_destroy (globus_gsi_authz_handle_t handle, globus_gsi_authz_cb_t callback, void * callback_arg)

Destroy an authz handle. It initializes an authorization handle by calling the GLOBUS_GSI_AUTHZ_HANDLE_DESTROY function named in the authorization configuration file. (yes the destroy one says "initializes", that's literally what the page says, we don't editorialize.) Once the initialization is complete, the callback function is called, with the result and the callback_arg passed to it.

Parameters

  • handle β€” The handle that is to be destroyed
  • callback β€” Callback function to call when handle is destroyed
  • callback_arg β€” Argument to callback function

Returns

GLOBUS_SUCCESS


🌈 globus_result_t globus_gsi_authz_handle_init (globus_gsi_authz_handle_t * handle, const char * service_name, const gss_ctx_id_t context, globus_gsi_authz_cb_t callback, void * callback_arg)

Initialize an authorization handle. It initializes an authorization handle by calling the GLOBUS_GSI_AUTHZ_HANDLE_INIT function named in the authorization configuration file. The parameters to this function are passed to the authorization callout. Once the initialization is complete, the callback function is called, with the result and the callback_arg passed to it. so you set it all up, then the callback hits you back with the result and the arg. cute, tidy, slay.

Parameters

  • handle β€” Pointer to the handle that is to be initialized
  • service_name β€” Service to authorize access to
  • context β€” Security context used to contact the service
  • callback β€” Callback function to call when authz handle init completes
  • callback_arg β€” Argument to callback function

Return values

The globus_gsi_authz_handle_init() function returns GLOBUS_SUCCESS if successful, or a Globus error object on failure

See also

globus_gsi_authz_handle_destroy()


⭐ globus_result_t globus_gsi_cancel_authz (globus_gsi_authz_handle_t handle)

Cancel Authorization. It cancels an authorization decision by calling the GLOBUS_GSI_AUTHZ_CANCEL function named in the authorization configuration file. changed your mind? valid. cancel it.

Parameters

  • handle β€” The authorization handle to cancel

πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for globus_authz from the source code. ✨ it wrote itself, truly self-made ✨


and that's the whole page bestie πŸ’… β€” this was globus_authz, Version 4.6, and the page is globus_gsi_authz(3). go forth and authorize responsibly 🫢🌸
πŸ“¦ where this page comes from