---
name: "globus_gsi_authz"
section: "3"
platform: "linux"
package: "libglobus-authz-doc"
version: "4.6-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gsi_authz"
---

# globus\_gsi\_authz(3)

GSI Authorization API - Authorization Callouts.

## NAME

globus\_gsi\_authz - GSI Authorization API

 \- Authorization Callouts.

## SYNOPSIS

### Modules

**GSI Credential Constants**\
 GSI Credential Constants.

### 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 GSI Authorization API provides an interface for making generic authorization decisions using dynamically-loaded authorization modules. 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. 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.

**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.

### 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. Query for authorization identity by calling the GLOBUS\_GSI\_GET\_AUTHORIZATION\_IDENTITY callout.

**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.

**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. Initialize an authorization handle by calling the GLOBUS\_GSI\_AUTHZ\_HANDLE\_DESTROY function named in the authorization configuration file. 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. Initialize 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.

**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. Cancel an authorization decision by calling the GLOBUS\_GSI\_AUTHZ\_CANCEL function named in the authorization configuration file.

**Parameters**

*handle* The authorization handle to cancel

## Author

Generated automatically by Doxygen for globus\_authz from the source code.
