# rtsp auth

The GstRTSPAuth object is responsible for checking if the current user is allowed to perform requested actions. The default implementation has some reasonable checks but subclasses can implement custom security policies.

A new auth object is made with gst_rtsp_auth_new. It is usually configured on the GstRTSPServer object.

The RTSP server will call gst_rtsp_auth_check with a string describing the check to perform. The possible checks are prefixed with GST_RTSP_AUTH_CHECK_*. Depending on the check, the default implementation will use the current GstRTSPToken, GstRTSPContext and GstRTSPPermissions on the object to check if an operation is allowed.

The default GstRTSPAuth object has support for basic authentication. With gst_rtsp_auth_add_basic you can add a basic authentication string together with the GstRTSPToken that will become active when successfully authenticated.

When a TLS certificate has been set with gst_rtsp_auth_set_tls_certificate, the default auth object will require the client to connect with a TLS connection.

Last reviewed on 2013-07-16 (1.0.0)

## GstRTSPAuth

    GObject
        ╰──GstRTSPAuth

The authentication structure.

### Members

`parent` (GObject) –
No description available

### Class structure

#### GstRTSPAuthClass

The authentication class.

##### Fields

`parent_class` (GObjectClass) –
No description available

### GstRtspServer.RTSPAuthClass

The authentication class.

##### Attributes

`parent_class` (GObject.ObjectClass) –
No description available

### GstRtspServer.RTSPAuthClass

The authentication class.

##### Attributes

`parent_class` (GObject.ObjectClass) –
No description available

## GstRtspServer.RTSPAuth

    GObject.Object
        ╰──GstRtspServer.RTSPAuth

The authentication structure.

### Members

`parent` (GObject.Object) –
No description available

## GstRtspServer.RTSPAuth

    GObject.Object
        ╰──GstRtspServer.RTSPAuth

The authentication structure.

### Members

`parent` (GObject.Object) –
No description available

### Constructors

#### gst_rtsp_auth_new

    GstRTSPAuth *
    gst_rtsp_auth_new ()

Create a new GstRTSPAuth instance.

Returns ( [transfer: full]) –

a new GstRTSPAuth

#### GstRtspServer.RTSPAuth.prototype.new

    function GstRtspServer.RTSPAuth.prototype.new(): {
        // javascript wrapper for 'gst_rtsp_auth_new'
    }

Create a new GstRtspServer.RTSPAuth instance.

Returns (GstRtspServer.RTSPAuth) –

a new GstRtspServer.RTSPAuth

#### GstRtspServer.RTSPAuth.new

    def GstRtspServer.RTSPAuth.new ():
        #python wrapper for 'gst_rtsp_auth_new'

Create a new GstRtspServer.RTSPAuth instance.

Returns (GstRtspServer.RTSPAuth) –

a new GstRtspServer.RTSPAuth

### Methods

#### gst_rtsp_auth_add_basic

    gst_rtsp_auth_add_basic (GstRTSPAuth * auth,
                             const gchar * basic,
                             GstRTSPToken * token)

Add a basic token for the default authentication algorithm that enables the client with privileges listed in token.

Parameters:

`auth` –

a GstRTSPAuth

`basic` –

the basic token

`token` ( [transfer: none]) –

authorisation token

#### GstRtspServer.RTSPAuth.prototype.add_basic

    function GstRtspServer.RTSPAuth.prototype.add_basic(basic: String, token: GstRtspServer.RTSPToken): {
        // javascript wrapper for 'gst_rtsp_auth_add_basic'
    }

Add a basic token for the default authentication algorithm that enables the client with privileges listed in token.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`basic` (String) –

the basic token

`token` (GstRtspServer.RTSPToken) –

authorisation token

#### GstRtspServer.RTSPAuth.add_basic

    def GstRtspServer.RTSPAuth.add_basic (self, basic, token):
        #python wrapper for 'gst_rtsp_auth_add_basic'

Add a basic token for the default authentication algorithm that enables the client with privileges listed in token.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`basic` (str) –

the basic token

`token` (GstRtspServer.RTSPToken) –

authorisation token

#### gst_rtsp_auth_add_digest

    gst_rtsp_auth_add_digest (GstRTSPAuth * auth,
                              const gchar * user,
                              const gchar * pass,
                              GstRTSPToken * token)

Add a digest user and pass for the default authentication algorithm that enables the client with privileges listed in token.

Parameters:

`auth` –

a GstRTSPAuth

`user` –

the digest user name

`pass` –

the digest password

`token` ( [transfer: none]) –

authorisation token

Since : 1.12

#### GstRtspServer.RTSPAuth.prototype.add_digest

    function GstRtspServer.RTSPAuth.prototype.add_digest(user: String, pass: String, token: GstRtspServer.RTSPToken): {
        // javascript wrapper for 'gst_rtsp_auth_add_digest'
    }

Add a digest user and pass for the default authentication algorithm that enables the client with privileges listed in token.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`user` (String) –

the digest user name

`pass` (String) –

the digest password

`token` (GstRtspServer.RTSPToken) –

authorisation token

Since : 1.12

#### GstRtspServer.RTSPAuth.add_digest

    def GstRtspServer.RTSPAuth.add_digest (self, user, pass, token):
        #python wrapper for 'gst_rtsp_auth_add_digest'

Add a digest user and pass for the default authentication algorithm that enables the client with privileges listed in token.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`user` (str) –

the digest user name

`pass` (str) –

the digest password

`token` (GstRtspServer.RTSPToken) –

authorisation token

Since : 1.12

#### gst_rtsp_auth_get_default_token

    GstRTSPToken *
    gst_rtsp_auth_get_default_token (GstRTSPAuth * auth)

Get the default token for auth. This token will be used for unauthenticated users.

Parameters:

`auth` –

a GstRTSPAuth

Returns ( [transfer: full][nullable]) –

the GstRTSPToken of auth. gst_rtsp_token_unref after usage.

#### GstRtspServer.RTSPAuth.prototype.get_default_token

    function GstRtspServer.RTSPAuth.prototype.get_default_token(): {
        // javascript wrapper for 'gst_rtsp_auth_get_default_token'
    }

Get the default token for auth. This token will be used for unauthenticated users.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (GstRtspServer.RTSPToken) –

the GstRtspServer.RTSPToken of auth. gst_rtsp_token_unref after usage.

#### GstRtspServer.RTSPAuth.get_default_token

    def GstRtspServer.RTSPAuth.get_default_token (self):
        #python wrapper for 'gst_rtsp_auth_get_default_token'

Get the default token for auth. This token will be used for unauthenticated users.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (GstRtspServer.RTSPToken) –

the GstRtspServer.RTSPToken of auth. gst_rtsp_token_unref after usage.

#### gst_rtsp_auth_get_realm

    gchar *
    gst_rtsp_auth_get_realm (GstRTSPAuth * auth)

Parameters:

`auth` –
No description available
Returns ( [transfer: full][nullable]) –

the realm of auth

Since : 1.16

#### GstRtspServer.RTSPAuth.prototype.get_realm

    function GstRtspServer.RTSPAuth.prototype.get_realm(): {
        // javascript wrapper for 'gst_rtsp_auth_get_realm'
    }

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
Returns (String) –

the realm of auth

Since : 1.16

#### GstRtspServer.RTSPAuth.get_realm

    def GstRtspServer.RTSPAuth.get_realm (self):
        #python wrapper for 'gst_rtsp_auth_get_realm'

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
Returns (str) –

the realm of auth

Since : 1.16

#### gst_rtsp_auth_get_supported_methods

    GstRTSPAuthMethod
    gst_rtsp_auth_get_supported_methods (GstRTSPAuth * auth)

Gets the supported authentication methods of auth.

Parameters:

`auth` –

a GstRTSPAuth

Returns –

The supported authentication methods

Since : 1.12

#### GstRtspServer.RTSPAuth.prototype.get_supported_methods

    function GstRtspServer.RTSPAuth.prototype.get_supported_methods(): {
        // javascript wrapper for 'gst_rtsp_auth_get_supported_methods'
    }

Gets the supported authentication methods of auth.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (GstRtsp.RTSPAuthMethod) –

The supported authentication methods

Since : 1.12

#### GstRtspServer.RTSPAuth.get_supported_methods

    def GstRtspServer.RTSPAuth.get_supported_methods (self):
        #python wrapper for 'gst_rtsp_auth_get_supported_methods'

Gets the supported authentication methods of auth.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (GstRtsp.RTSPAuthMethod) –

The supported authentication methods

Since : 1.12

#### gst_rtsp_auth_get_tls_authentication_mode

    GTlsAuthenticationMode
    gst_rtsp_auth_get_tls_authentication_mode (GstRTSPAuth * auth)

Get the GTlsAuthenticationMode.

Parameters:

`auth` –

a GstRTSPAuth

Returns ( [transfer: full]) –

the GTlsAuthenticationMode.

#### GstRtspServer.RTSPAuth.prototype.get_tls_authentication_mode

    function GstRtspServer.RTSPAuth.prototype.get_tls_authentication_mode(): {
        // javascript wrapper for 'gst_rtsp_auth_get_tls_authentication_mode'
    }

Get the Gio.TlsAuthenticationMode.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (Gio.TlsAuthenticationMode) –

the Gio.TlsAuthenticationMode.

#### GstRtspServer.RTSPAuth.get_tls_authentication_mode

    def GstRtspServer.RTSPAuth.get_tls_authentication_mode (self):
        #python wrapper for 'gst_rtsp_auth_get_tls_authentication_mode'

Get the Gio.TlsAuthenticationMode.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (Gio.TlsAuthenticationMode) –

the Gio.TlsAuthenticationMode.

#### gst_rtsp_auth_get_tls_certificate

    GTlsCertificate *
    gst_rtsp_auth_get_tls_certificate (GstRTSPAuth * auth)

Get the GTlsCertificate used for negotiating TLS auth.

Parameters:

`auth` –

a GstRTSPAuth

Returns ( [transfer: full][nullable]) –

the GTlsCertificate of auth. g_object_unref after usage.

#### GstRtspServer.RTSPAuth.prototype.get_tls_certificate

    function GstRtspServer.RTSPAuth.prototype.get_tls_certificate(): {
        // javascript wrapper for 'gst_rtsp_auth_get_tls_certificate'
    }

Get the Gio.TlsCertificate used for negotiating TLS auth.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (Gio.TlsCertificate) –

the Gio.TlsCertificate of auth. GObject.Object.prototype.unref after usage.

#### GstRtspServer.RTSPAuth.get_tls_certificate

    def GstRtspServer.RTSPAuth.get_tls_certificate (self):
        #python wrapper for 'gst_rtsp_auth_get_tls_certificate'

Get the Gio.TlsCertificate used for negotiating TLS auth.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (Gio.TlsCertificate) –

the Gio.TlsCertificate of auth. GObject.Object.unref after usage.

#### gst_rtsp_auth_get_tls_database

    GTlsDatabase *
    gst_rtsp_auth_get_tls_database (GstRTSPAuth * auth)

Get the GTlsDatabase used for verifying client certificate.

Parameters:

`auth` –

a GstRTSPAuth

Returns ( [transfer: full][nullable]) –

the GTlsDatabase of auth. g_object_unref after usage.

Since : 1.6

#### GstRtspServer.RTSPAuth.prototype.get_tls_database

    function GstRtspServer.RTSPAuth.prototype.get_tls_database(): {
        // javascript wrapper for 'gst_rtsp_auth_get_tls_database'
    }

Get the Gio.TlsDatabase used for verifying client certificate.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (Gio.TlsDatabase) –

the Gio.TlsDatabase of auth. GObject.Object.prototype.unref after usage.

Since : 1.6

#### GstRtspServer.RTSPAuth.get_tls_database

    def GstRtspServer.RTSPAuth.get_tls_database (self):
        #python wrapper for 'gst_rtsp_auth_get_tls_database'

Get the Gio.TlsDatabase used for verifying client certificate.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

Returns (Gio.TlsDatabase) –

the Gio.TlsDatabase of auth. GObject.Object.unref after usage.

Since : 1.6

#### gst_rtsp_auth_parse_htdigest

    gboolean
    gst_rtsp_auth_parse_htdigest (GstRTSPAuth * auth,
                                  const gchar * path,
                                  GstRTSPToken * token)

Parse the contents of the file at path and enable the privileges listed in token for the users it describes.

The format of the file is expected to match the format described by https://en.wikipedia.org/wiki/Digest_access_authentication#The_.htdigest_file, as output by the `htdigest` command.

Parameters:

`auth` –
No description available
`path` ( [type filename]) –

Path to the htdigest file

`token` ( [transfer: none]) –

authorisation token

Returns –

TRUE if the file was successfully parsed, FALSE otherwise.

Since : 1.16

#### GstRtspServer.RTSPAuth.prototype.parse_htdigest

    function GstRtspServer.RTSPAuth.prototype.parse_htdigest(path: filename, token: GstRtspServer.RTSPToken): {
        // javascript wrapper for 'gst_rtsp_auth_parse_htdigest'
    }

Parse the contents of the file at path and enable the privileges listed in token for the users it describes.

The format of the file is expected to match the format described by https://en.wikipedia.org/wiki/Digest_access_authentication#The_.htdigest_file, as output by the `htdigest` command.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`path` (filename) –

Path to the htdigest file

`token` (GstRtspServer.RTSPToken) –

authorisation token

Returns (Number) –

true if the file was successfully parsed, false otherwise.

Since : 1.16

#### GstRtspServer.RTSPAuth.parse_htdigest

    def GstRtspServer.RTSPAuth.parse_htdigest (self, path, token):
        #python wrapper for 'gst_rtsp_auth_parse_htdigest'

Parse the contents of the file at path and enable the privileges listed in token for the users it describes.

The format of the file is expected to match the format described by https://en.wikipedia.org/wiki/Digest_access_authentication#The_.htdigest_file, as output by the `htdigest` command.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`path` (str) –

Path to the htdigest file

`token` (GstRtspServer.RTSPToken) –

authorisation token

Returns (bool) –

True if the file was successfully parsed, False otherwise.

Since : 1.16

#### gst_rtsp_auth_remove_basic

    gst_rtsp_auth_remove_basic (GstRTSPAuth * auth,
                                const gchar * basic)

Removes basic authentication token.

Parameters:

`auth` –

a GstRTSPAuth

`basic` ( [transfer: none]) –

the basic token

#### GstRtspServer.RTSPAuth.prototype.remove_basic

    function GstRtspServer.RTSPAuth.prototype.remove_basic(basic: String): {
        // javascript wrapper for 'gst_rtsp_auth_remove_basic'
    }

Removes basic authentication token.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`basic` (String) –

the basic token

#### GstRtspServer.RTSPAuth.remove_basic

    def GstRtspServer.RTSPAuth.remove_basic (self, basic):
        #python wrapper for 'gst_rtsp_auth_remove_basic'

Removes basic authentication token.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`basic` (str) –

the basic token

#### gst_rtsp_auth_remove_digest

    gst_rtsp_auth_remove_digest (GstRTSPAuth * auth,
                                 const gchar * user)

Removes a digest user.

Parameters:

`auth` –

a GstRTSPAuth

`user` ( [transfer: none]) –

the digest user name

Since : 1.12

#### GstRtspServer.RTSPAuth.prototype.remove_digest

    function GstRtspServer.RTSPAuth.prototype.remove_digest(user: String): {
        // javascript wrapper for 'gst_rtsp_auth_remove_digest'
    }

Removes a digest user.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`user` (String) –

the digest user name

Since : 1.12

#### GstRtspServer.RTSPAuth.remove_digest

    def GstRtspServer.RTSPAuth.remove_digest (self, user):
        #python wrapper for 'gst_rtsp_auth_remove_digest'

Removes a digest user.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`user` (str) –

the digest user name

Since : 1.12

#### gst_rtsp_auth_set_default_token

    gst_rtsp_auth_set_default_token (GstRTSPAuth * auth,
                                     GstRTSPToken * token)

Set the default GstRTSPToken to token in auth. The default token will be used for unauthenticated users.

Parameters:

`auth` –

a GstRTSPAuth

`token` ( [transfer: none][allow-none]) –

a GstRTSPToken

#### GstRtspServer.RTSPAuth.prototype.set_default_token

    function GstRtspServer.RTSPAuth.prototype.set_default_token(token: GstRtspServer.RTSPToken): {
        // javascript wrapper for 'gst_rtsp_auth_set_default_token'
    }

Set the default GstRtspServer.RTSPToken to token in auth. The default token will be used for unauthenticated users.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`token` (GstRtspServer.RTSPToken) –

a GstRtspServer.RTSPToken

#### GstRtspServer.RTSPAuth.set_default_token

    def GstRtspServer.RTSPAuth.set_default_token (self, token):
        #python wrapper for 'gst_rtsp_auth_set_default_token'

Set the default GstRtspServer.RTSPToken to token in auth. The default token will be used for unauthenticated users.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`token` (GstRtspServer.RTSPToken) –

a GstRtspServer.RTSPToken

#### gst_rtsp_auth_set_realm

    gst_rtsp_auth_set_realm (GstRTSPAuth * auth,
                             const gchar * realm)

Set the realm of auth

Parameters:

`auth` –
No description available
`realm` ( [nullable]) –

The realm to set

Since : 1.16

#### GstRtspServer.RTSPAuth.prototype.set_realm

    function GstRtspServer.RTSPAuth.prototype.set_realm(realm: String): {
        // javascript wrapper for 'gst_rtsp_auth_set_realm'
    }

Set the realm of auth

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`realm` (String) –

The realm to set

Since : 1.16

#### GstRtspServer.RTSPAuth.set_realm

    def GstRtspServer.RTSPAuth.set_realm (self, realm):
        #python wrapper for 'gst_rtsp_auth_set_realm'

Set the realm of auth

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`realm` (str) –

The realm to set

Since : 1.16

#### gst_rtsp_auth_set_supported_methods

    gst_rtsp_auth_set_supported_methods (GstRTSPAuth * auth,
                                         GstRTSPAuthMethod methods)

Sets the supported authentication methods for auth.

Parameters:

`auth` –

a GstRTSPAuth

`methods` –

supported methods

Since : 1.12

#### GstRtspServer.RTSPAuth.prototype.set_supported_methods

    function GstRtspServer.RTSPAuth.prototype.set_supported_methods(methods: GstRtsp.RTSPAuthMethod): {
        // javascript wrapper for 'gst_rtsp_auth_set_supported_methods'
    }

Sets the supported authentication methods for auth.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`methods` (GstRtsp.RTSPAuthMethod) –

supported methods

Since : 1.12

#### GstRtspServer.RTSPAuth.set_supported_methods

    def GstRtspServer.RTSPAuth.set_supported_methods (self, methods):
        #python wrapper for 'gst_rtsp_auth_set_supported_methods'

Sets the supported authentication methods for auth.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`methods` (GstRtsp.RTSPAuthMethod) –

supported methods

Since : 1.12

#### gst_rtsp_auth_set_tls_authentication_mode

    gst_rtsp_auth_set_tls_authentication_mode (GstRTSPAuth * auth,
                                               GTlsAuthenticationMode mode)

The GTlsAuthenticationMode to set on the underlying GTlsServerConnection. When set to another value than G_TLS_AUTHENTICATION_NONE, accept-certificate signal will be emitted and must be handled.

Parameters:

`auth` –

a GstRTSPAuth

`mode` –

a GTlsAuthenticationMode

Since : 1.6

#### GstRtspServer.RTSPAuth.prototype.set_tls_authentication_mode

    function GstRtspServer.RTSPAuth.prototype.set_tls_authentication_mode(mode: Gio.TlsAuthenticationMode): {
        // javascript wrapper for 'gst_rtsp_auth_set_tls_authentication_mode'
    }

The Gio.TlsAuthenticationMode to set on the underlying GTlsServerConnection. When set to another value than Gio.TlsAuthenticationMode.NONE, accept-certificate signal will be emitted and must be handled.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`mode` (Gio.TlsAuthenticationMode) –

a Gio.TlsAuthenticationMode

Since : 1.6

#### GstRtspServer.RTSPAuth.set_tls_authentication_mode

    def GstRtspServer.RTSPAuth.set_tls_authentication_mode (self, mode):
        #python wrapper for 'gst_rtsp_auth_set_tls_authentication_mode'

The Gio.TlsAuthenticationMode to set on the underlying GTlsServerConnection. When set to another value than Gio.TlsAuthenticationMode.NONE, accept-certificate signal will be emitted and must be handled.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`mode` (Gio.TlsAuthenticationMode) –

a Gio.TlsAuthenticationMode

Since : 1.6

#### gst_rtsp_auth_set_tls_certificate

    gst_rtsp_auth_set_tls_certificate (GstRTSPAuth * auth,
                                       GTlsCertificate * cert)

Set the TLS certificate for the auth. Client connections will only be accepted when TLS is negotiated.

Parameters:

`auth` –

a GstRTSPAuth

`cert` ( [transfer: none][allow-none]) –

a GTlsCertificate

#### GstRtspServer.RTSPAuth.prototype.set_tls_certificate

    function GstRtspServer.RTSPAuth.prototype.set_tls_certificate(cert: Gio.TlsCertificate): {
        // javascript wrapper for 'gst_rtsp_auth_set_tls_certificate'
    }

Set the TLS certificate for the auth. Client connections will only be accepted when TLS is negotiated.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`cert` (Gio.TlsCertificate) –

a Gio.TlsCertificate

#### GstRtspServer.RTSPAuth.set_tls_certificate

    def GstRtspServer.RTSPAuth.set_tls_certificate (self, cert):
        #python wrapper for 'gst_rtsp_auth_set_tls_certificate'

Set the TLS certificate for the auth. Client connections will only be accepted when TLS is negotiated.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`cert` (Gio.TlsCertificate) –

a Gio.TlsCertificate

#### gst_rtsp_auth_set_tls_database

    gst_rtsp_auth_set_tls_database (GstRTSPAuth * auth,
                                    GTlsDatabase * database)

Sets the certificate database that is used to verify peer certificates. If set to NULL (the default), then peer certificate validation will always set the G_TLS_CERTIFICATE_UNKNOWN_CA error.

Parameters:

`auth` –

a GstRTSPAuth

`database` ( [transfer: none][allow-none]) –

a GTlsDatabase

Since : 1.6

#### GstRtspServer.RTSPAuth.prototype.set_tls_database

    function GstRtspServer.RTSPAuth.prototype.set_tls_database(database: Gio.TlsDatabase): {
        // javascript wrapper for 'gst_rtsp_auth_set_tls_database'
    }

Sets the certificate database that is used to verify peer certificates. If set to null (the default), then peer certificate validation will always set the Gio.TlsCertificateFlags.UNKNOWN_CA error.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`database` (Gio.TlsDatabase) –

a Gio.TlsDatabase

Since : 1.6

#### GstRtspServer.RTSPAuth.set_tls_database

    def GstRtspServer.RTSPAuth.set_tls_database (self, database):
        #python wrapper for 'gst_rtsp_auth_set_tls_database'

Sets the certificate database that is used to verify peer certificates. If set to None (the default), then peer certificate validation will always set the Gio.TlsCertificateFlags.UNKNOWN_CA error.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –

a GstRtspServer.RTSPAuth

`database` (Gio.TlsDatabase) –

a Gio.TlsDatabase

Since : 1.6

### Functions

#### gst_rtsp_auth_check

    gboolean
    gst_rtsp_auth_check (const gchar * check)

Check if check is allowed in the current context.

Parameters:

`check` –

the item to check

Returns –

FALSE if check failed.

#### GstRtspServer.RTSPAuth.prototype.check

    function GstRtspServer.RTSPAuth.prototype.check(check: String): {
        // javascript wrapper for 'gst_rtsp_auth_check'
    }

Check if check is allowed in the current context.

Parameters:

`check` (String) –

the item to check

Returns (Number) –

FALSE if check failed.

#### GstRtspServer.RTSPAuth.check

    def GstRtspServer.RTSPAuth.check (check):
        #python wrapper for 'gst_rtsp_auth_check'

Check if check is allowed in the current context.

Parameters:

`check` (str) –

the item to check

Returns (bool) –

FALSE if check failed.

#### gst_rtsp_auth_make_basic

    gchar *
    gst_rtsp_auth_make_basic (const gchar * user,
                              const gchar * pass)

Construct a Basic authorisation token from user and pass.

Parameters:

`user` –

a userid

`pass` –

a password

Returns ( [transfer: full]) –

the base64 encoding of the string user:@pass. g_free after usage.

#### GstRtspServer.RTSPAuth.prototype.make_basic

    function GstRtspServer.RTSPAuth.prototype.make_basic(user: String, pass: String): {
        // javascript wrapper for 'gst_rtsp_auth_make_basic'
    }

Construct a Basic authorisation token from user and pass.

Parameters:

`user` (String) –

a userid

`pass` (String) –

a password

Returns (String) –

the base64 encoding of the string user:@pass. GLib.prototype.free after usage.

#### GstRtspServer.RTSPAuth.make_basic

    def GstRtspServer.RTSPAuth.make_basic (user, pass):
        #python wrapper for 'gst_rtsp_auth_make_basic'

Construct a Basic authorisation token from user and pass.

Parameters:

`user` (str) –

a userid

`pass` (str) –

a password

Returns (str) –

the base64 encoding of the string user:@pass. GLib.free after usage.

### Signals

#### accept-certificate

    gboolean
    accept_certificate_callback (GstRTSPAuth * self,
                                 GTlsConnection * connection,
                                 GTlsCertificate * peer_cert,
                                 GTlsCertificateFlags * errors,
                                 gpointer user_data)

Emitted during the TLS handshake after the client certificate has been received. See also gst_rtsp_auth_set_tls_authentication_mode.

Parameters:

`self` –
No description available
`connection` –

a GTlsConnection

`peer_cert` –

the peer's GTlsCertificate

`errors` –

the problems with peer_cert.

`user_data` –
No description available
Returns –

TRUE to accept peer_cert (which will also immediately end the signal emission). FALSE to allow the signal emission to continue, which will cause the handshake to fail if no one else overrides it.

Flags: Run Last

Since : 1.6

#### accept-certificate

    function accept_certificate_callback(self: GstRtspServer.RTSPAuth, connection: Gio.TlsConnection, peer_cert: Gio.TlsCertificate, errors: Gio.TlsCertificateFlags, user_data: Object): {
        // javascript callback for the 'accept-certificate' signal
    }

Emitted during the TLS handshake after the client certificate has been received. See also GstRtspServer.RTSPAuth.prototype.set_tls_authentication_mode.

Parameters:

`self` (GstRtspServer.RTSPAuth) –
No description available
`connection` (Gio.TlsConnection) –

a Gio.TlsConnection

`peer_cert` (Gio.TlsCertificate) –

the peer's Gio.TlsCertificate

`errors` (Gio.TlsCertificateFlags) –

the problems with peer_cert.

`user_data` (Object) –
No description available
Returns (Number) –

true to accept peer_cert (which will also immediately end the signal emission). false to allow the signal emission to continue, which will cause the handshake to fail if no one else overrides it.

Flags: Run Last

Since : 1.6

#### accept-certificate

    def accept_certificate_callback (self, connection, peer_cert, errors, *user_data):
        #python callback for the 'accept-certificate' signal

Emitted during the TLS handshake after the client certificate has been received. See also GstRtspServer.RTSPAuth.set_tls_authentication_mode.

Parameters:

`self` (GstRtspServer.RTSPAuth) –
No description available
`connection` (Gio.TlsConnection) –

a Gio.TlsConnection

`peer_cert` (Gio.TlsCertificate) –

the peer's Gio.TlsCertificate

`errors` (Gio.TlsCertificateFlags) –

the problems with peer_cert.

`user_data` (variadic) –
No description available
Returns (bool) –

True to accept peer_cert (which will also immediately end the signal emission). False to allow the signal emission to continue, which will cause the handshake to fail if no one else overrides it.

Flags: Run Last

Since : 1.6

### Virtual Methods

#### accept_certificate

    gboolean
    accept_certificate (GstRTSPAuth * auth,
                        GTlsConnection * connection,
                        GTlsCertificate * peer_cert,
                        GTlsCertificateFlags errors)

Parameters:

`auth` –
No description available
`connection` –
No description available
`peer_cert` –
No description available
`errors` –
No description available
Returns –
No description available

#### vfunc_accept_certificate

    function vfunc_accept_certificate(auth: GstRtspServer.RTSPAuth, connection: Gio.TlsConnection, peer_cert: Gio.TlsCertificate, errors: Gio.TlsCertificateFlags): {
        // javascript implementation of the 'accept_certificate' virtual method
    }

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`connection` (Gio.TlsConnection) –
No description available
`peer_cert` (Gio.TlsCertificate) –
No description available
`errors` (Gio.TlsCertificateFlags) –
No description available
Returns (Number) –
No description available

#### do_accept_certificate

    def do_accept_certificate (auth, connection, peer_cert, errors):
        #python implementation of the 'accept_certificate' virtual method

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`connection` (Gio.TlsConnection) –
No description available
`peer_cert` (Gio.TlsCertificate) –
No description available
`errors` (Gio.TlsCertificateFlags) –
No description available
Returns (bool) –
No description available

#### authenticate

    gboolean
    authenticate (GstRTSPAuth * auth,
                  GstRTSPContext * ctx)

check the authentication of a client. The default implementation checks if the authentication in the header matches one of the basic authentication tokens. This function should set the authgroup field in the context.

Parameters:

`auth` –
No description available
`ctx` –
No description available
Returns –
No description available

#### vfunc_authenticate

    function vfunc_authenticate(auth: GstRtspServer.RTSPAuth, ctx: GstRtspServer.RTSPContext): {
        // javascript implementation of the 'authenticate' virtual method
    }

check the authentication of a client. The default implementation checks if the authentication in the header matches one of the basic authentication tokens. This function should set the authgroup field in the context.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`ctx` (GstRtspServer.RTSPContext) –
No description available
Returns (Number) –
No description available

#### do_authenticate

    def do_authenticate (auth, ctx):
        #python implementation of the 'authenticate' virtual method

check the authentication of a client. The default implementation checks if the authentication in the header matches one of the basic authentication tokens. This function should set the authgroup field in the context.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`ctx` (GstRtspServer.RTSPContext) –
No description available
Returns (bool) –
No description available

#### check

    gboolean
    check (GstRTSPAuth * auth,
           GstRTSPContext * ctx,
           const gchar * check)

check if a resource can be accessed. this function should call authenticate to authenticate the client when needed. The method should also construct and send an appropriate response message on error.

Parameters:

`auth` –
No description available
`ctx` –
No description available
`check` –
No description available
Returns –
No description available

#### vfunc_check

    function vfunc_check(auth: GstRtspServer.RTSPAuth, ctx: GstRtspServer.RTSPContext, check: String): {
        // javascript implementation of the 'check' virtual method
    }

check if a resource can be accessed. this function should call authenticate to authenticate the client when needed. The method should also construct and send an appropriate response message on error.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`ctx` (GstRtspServer.RTSPContext) –
No description available
`check` (String) –
No description available
Returns (Number) –
No description available

#### do_check

    def do_check (auth, ctx, check):
        #python implementation of the 'check' virtual method

check if a resource can be accessed. this function should call authenticate to authenticate the client when needed. The method should also construct and send an appropriate response message on error.

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`ctx` (GstRtspServer.RTSPContext) –
No description available
`check` (str) –
No description available
Returns (bool) –
No description available

#### generate_authenticate_header

    generate_authenticate_header (GstRTSPAuth * auth,
                                  GstRTSPContext * ctx)

Parameters:

`auth` –
No description available
`ctx` –
No description available

#### vfunc_generate_authenticate_header

    function vfunc_generate_authenticate_header(auth: GstRtspServer.RTSPAuth, ctx: GstRtspServer.RTSPContext): {
        // javascript implementation of the 'generate_authenticate_header' virtual method
    }

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`ctx` (GstRtspServer.RTSPContext) –
No description available

#### do_generate_authenticate_header

    def do_generate_authenticate_header (auth, ctx):
        #python implementation of the 'generate_authenticate_header' virtual method

Parameters:

`auth` (GstRtspServer.RTSPAuth) –
No description available
`ctx` (GstRtspServer.RTSPContext) –
No description available

## Function Macros

### GST_RTSP_AUTH_CAST

    #define GST_RTSP_AUTH_CAST(obj)         ((GstRTSPAuth*)(obj))

### GST_RTSP_AUTH_CLASS_CAST

    #define GST_RTSP_AUTH_CLASS_CAST(klass) ((GstRTSPAuthClass*)(klass))

## Constants

### GST_RTSP_AUTH_CHECK_CONNECT

    #define GST_RTSP_AUTH_CHECK_CONNECT                  "auth.check.connect"

Check a new connection

### GstRtspServer.RTSP_AUTH_CHECK_CONNECT

Check a new connection

### GstRtspServer.RTSP_AUTH_CHECK_CONNECT

Check a new connection

### GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS

    #define GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS     "auth.check.media.factory.access"

Check if access is allowed to a factory. When access is not allowed an 404 Not Found is sent in the response.

### GstRtspServer.RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS

Check if access is allowed to a factory. When access is not allowed an 404 Not Found is sent in the response.

### GstRtspServer.RTSP_AUTH_CHECK_MEDIA_FACTORY_ACCESS

Check if access is allowed to a factory. When access is not allowed an 404 Not Found is sent in the response.

### GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT

    #define GST_RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT  "auth.check.media.factory.construct"

Check if media can be constructed from a media factory A response should be sent on error.

### GstRtspServer.RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT

Check if media can be constructed from a media factory A response should be sent on error.

### GstRtspServer.RTSP_AUTH_CHECK_MEDIA_FACTORY_CONSTRUCT

Check if media can be constructed from a media factory A response should be sent on error.

### GST_RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS

    #define GST_RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS  "auth.check.transport.client-settings"

Check if the client can specify TTL, destination and port pair in multicast. No response is sent when the check returns FALSE.

### GstRtspServer.RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS

Check if the client can specify TTL, destination and port pair in multicast. No response is sent when the check returns false.

### GstRtspServer.RTSP_AUTH_CHECK_TRANSPORT_CLIENT_SETTINGS

Check if the client can specify TTL, destination and port pair in multicast. No response is sent when the check returns False.

### GST_RTSP_AUTH_CHECK_URL

    #define GST_RTSP_AUTH_CHECK_URL                      "auth.check.url"

Check the URL and methods

### GstRtspServer.RTSP_AUTH_CHECK_URL

Check the URL and methods

### GstRtspServer.RTSP_AUTH_CHECK_URL

Check the URL and methods

### GST_RTSP_PERM_MEDIA_FACTORY_ACCESS

    #define GST_RTSP_PERM_MEDIA_FACTORY_ACCESS      "media.factory.access"

G_TYPE_BOOLEAN, TRUE if the media can be accessed, FALSE will return a 404 Not Found error when trying to access the media.

### GstRtspServer.RTSP_PERM_MEDIA_FACTORY_ACCESS

G_TYPE_BOOLEAN, true if the media can be accessed, false will return a 404 Not Found error when trying to access the media.

### GstRtspServer.RTSP_PERM_MEDIA_FACTORY_ACCESS

G_TYPE_BOOLEAN, True if the media can be accessed, False will return a 404 Not Found error when trying to access the media.

### GST_RTSP_PERM_MEDIA_FACTORY_CONSTRUCT

    #define GST_RTSP_PERM_MEDIA_FACTORY_CONSTRUCT   "media.factory.construct"

G_TYPE_BOOLEAN, TRUE if the media can be constructed, FALSE will return a 404 Not Found error when trying to access the media.

### GstRtspServer.RTSP_PERM_MEDIA_FACTORY_CONSTRUCT

G_TYPE_BOOLEAN, true if the media can be constructed, false will return a 404 Not Found error when trying to access the media.

### GstRtspServer.RTSP_PERM_MEDIA_FACTORY_CONSTRUCT

G_TYPE_BOOLEAN, True if the media can be constructed, False will return a 404 Not Found error when trying to access the media.

### GST_RTSP_TOKEN_MEDIA_FACTORY_ROLE

    #define GST_RTSP_TOKEN_MEDIA_FACTORY_ROLE      "media.factory.role"

G_TYPE_STRING, the role to use when dealing with media factories

The default GstRTSPAuth object uses this string in the token to find the role of the media factory. It will then retrieve the GstRTSPPermissions of the media factory and retrieve the role with the same name.

### GstRtspServer.RTSP_TOKEN_MEDIA_FACTORY_ROLE

G_TYPE_STRING, the role to use when dealing with media factories

The default GstRtspServer.RTSPAuth object uses this string in the token to find the role of the media factory. It will then retrieve the GstRtspServer.RTSPPermissions of the media factory and retrieve the role with the same name.

### GstRtspServer.RTSP_TOKEN_MEDIA_FACTORY_ROLE

G_TYPE_STRING, the role to use when dealing with media factories

The default GstRtspServer.RTSPAuth object uses this string in the token to find the role of the media factory. It will then retrieve the GstRtspServer.RTSPPermissions of the media factory and retrieve the role with the same name.

### GST_RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS

    #define GST_RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS   "transport.client-settings"

G_TYPE_BOOLEAN, TRUE if the client can specify TTL, destination and port pair in multicast.

### GstRtspServer.RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS

G_TYPE_BOOLEAN, true if the client can specify TTL, destination and port pair in multicast.

### GstRtspServer.RTSP_TOKEN_TRANSPORT_CLIENT_SETTINGS

G_TYPE_BOOLEAN, True if the client can specify TTL, destination and port pair in multicast.

The results of the search are