Go to main content

man pages section 3: Remote Administration Daemon Module Interfaces

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

authentication-1 (3rad)

Name

authentication-1 - based authentication

Synopsis

#include <rad/client/1/authentication.h>
cc [ flag... ] file... -lauthentication1_client [ library... ]

interface Session
const char * user ; (ro)
const char ** roles ; (ro)
const char * token ; (rw)

rc_err_t authentication_Session__rad_create(rc_instance_t *inst,
const char *username,
const char *password,
const char *scheme,
boolean_t preserve,
long long timeout,
rc_instance_t **result);

rc_err_t authentication_Session__rad_delete(rc_instance_t *inst);

Description

AUTHENTICATION-1(3rad)      RAD Module Definitions      AUTHENTICATION-1(3rad)



NAME
       authentication - API for token-based authentication

SYNOPSIS
       #include <rad/client/1/authentication.h>
       cc [ flag... ] file... -lauthentication1_client [ library... ]

   interface Session
       const char * user ; (ro)
       const char ** roles ; (ro)
       const char * token ; (rw)

       rc_err_t authentication_Session__rad_create(rc_instance_t *inst,
                                                   const char *username,
                                                   const char *password,
                                                   const char *scheme,
                                                   boolean_t preserve,
                                                   long long timeout,
                                                   rc_instance_t **result);

       rc_err_t authentication_Session__rad_delete(rc_instance_t *inst);

DESCRIPTION
       API com.oracle.solaris.rad.authentication [1]

       This API provides functions for generating and redeeming security
       tokens for RAD's token-based Authentication.

INTERFACES
   interface Session
       Session interface. Represents a session within RAD. Clients should
       interact with this interface to: - authenticate and obtain access to
       RAD - retrieve, redeem and revoke UUID authentication tokens - obtain
       information about existing sessions - delete sessions - obtain session
       specific data, user, roles.

       Session Properties
           const char * user (read-only, nullable) -- gets the username of the
           connected user

               rc_err_t authentication_Session_get_user(rc_instance_t *inst,
                                                        char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

           const char ** roles (read-only) -- gets the list of roles available
           to the connected user

               rc_err_t authentication_Session_get_roles(rc_instance_t *inst,
                                                         char ***result,
                                                         int *result_cnt);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

                   result_cnt -- Number of items in result array

           const char * token (read-write, nullable) -- Read/Write the
           session's token.

               rc_err_t authentication_Session_get_token(rc_instance_t *inst,
                                                         char **result);

                   Get property value.

                   Arguments:

                   inst -- RAD instance

                   result -- Property value returned

               rc_err_t authentication_Session_set_token(rc_instance_t *inst,
                                                         const char *token);

                   Set property value.

                   Arguments:

                   inst -- RAD instance

                   token -- Property value written

       Session Create
           rc_err_t authentication_Session__rad_create(rc_instance_t *inst,
                                                       const char *username,
                                                       const char *password,
                                                       const char *scheme,
                                                       boolean_t preserve,
                                                       long long timeout,
                                                       rc_instance_t **result);

               Create a new Session instance. If authentication data cannot be
               validated by the server an error is raised. For HTTP clients, a
               secure token is returned in the HTTP cookie.

               Arguments:

               inst -- RAD instance

               username

               password

               scheme -- Sets the authentication scheme. Currently only 'pam'
               supported.

               preserve

               timeout -- Timeout in minutes. If timeout is specified as -1,
               the default session timeout for this REST interfaces is 60
               minutes.

               result -- New Session instance

       Session Retrieve
           rc_err_t authentication_Session__rad_get_name(adr_name_t **result,
                                                         int n,
                                                         ...);

               Obtain RAD name of a Session object.

               Arguments:

               result -- RAD name

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t authentication_Session__rad_lookup(rc_conn_t *c,
                                                       boolean_t strict,
                                                       rc_instance_t **result,
                                                       int n,
                                                       ...);

               Lookup a Session instance.

               Construct a RAD name for the interface based on the provided
               key-value pairs and perform a lookup. If successful, instance
               reference is returned in the result.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               result -- RAD instance

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

           rc_err_t authentication_Session__rad_list(rc_conn_t *c,
                                                     boolean_t strict,
                                                     adr_pattern_scheme_t scheme,
                                                     adr_name_t ***result,
                                                     int *result_count,
                                                     int n,
                                                     ...);

               List RAD names of a available Session instances.

               Returns an array and array size of matching object names.

               Arguments:

               c -- RAD connection handle

               strict -- Strict (B_TRUE) or relaxed (B_FALSE) versioning

               scheme -- Apply glob (NS_GLOB) or regex (NS_REGEX) matching

               result -- Array of RAD names

               result_count -- Number of names in result array

               n -- Number of key-value pairs provided as variadic arguments

               ... -- Optional key-value pairs that compose the primary key

       Session Delete
           rc_err_t authentication_Session__rad_delete(rc_instance_t *inst);

               Delete and disconnect current session.

               Arguments:

               inst -- RAD instance

VERSION
       1.0

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       +--------------------+-----------------------+
       |  ATTRIBUTE TYPE    |    ATTRIBUTE VALUE    |
       +--------------------+-----------------------+
       |Availability        | system/management/rad |
       +--------------------+-----------------------+
       |Interface Stability | Private               |
       +--------------------+-----------------------+

SEE ALSO
       rad(8)

NOTES
        1. Accessing Python documentation for this module:

           $ pydoc rad.bindings.com.oracle.solaris.rad.authentication_1





Solaris 11.4                      2018-09-05            AUTHENTICATION-1(3rad)