Class AuthDomainDigest
- All Implemented Interfaces:
Proxy
SoupAuthDomainDigest
handles the server side of HTTP "Digest"
authentication.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
AuthDomainDigest.Builder<B extends AuthDomainDigest.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.Nested classes/interfaces inherited from class org.gnome.soup.AuthDomain
AuthDomain.AuthDomainClass, AuthDomain.AuthDomainImpl
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
-
Constructor Summary
ConstructorDescriptionAuthDomainDigest
(MemorySegment address) Create a AuthDomainDigest proxy instance for the provided memory address.AuthDomainDigest
(String optname1, Object... varargs) Creates aSoupAuthDomainDigest
. -
Method Summary
Modifier and TypeMethodDescriptionprotected AuthDomainDigest
asParent()
Returns this instance as if it were its parent type.static AuthDomainDigest.Builder
<? extends AuthDomainDigest.Builder> builder()
AAuthDomainDigest.Builder
object constructs aAuthDomainDigest
with the specified properties.static String
encodePassword
(String username, String realm, String password) Encodes the username/realm/password triplet for Digest authentication.static Type
getType()
Get the GType of the AuthDomainDigest classvoid
setAuthCallback
(AuthDomainDigestAuthCallback callback) Sets the callback that this AuthDomainDigest will use to authenticate incoming requests.Methods inherited from class org.gnome.soup.AuthDomain
accepts, accepts, addPath, challenge, checkPassword, covers, getMemoryLayout, getRealm, removePath, setFilter, setGenericAuthCallback
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
-
Constructor Details
-
AuthDomainDigest
Create a AuthDomainDigest proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
AuthDomainDigest
Creates aSoupAuthDomainDigest
.You must set the
AuthDomain:realm
property, to indicate the realm name to be returned with the authentication challenge to the client. Other parameters are optional.- Parameters:
optname1
- name of first option, ornull
varargs
- option name/value pairs- Throws:
UnsupportedPlatformException
- when run on a platform other than linux
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type.- Overrides:
asParent
in classAuthDomain
-
encodePassword
public static String encodePassword(String username, String realm, String password) throws UnsupportedPlatformException Encodes the username/realm/password triplet for Digest authentication.That is, it returns a stringified MD5 hash of
username
,realm
, andpassword
concatenated together. This is the form that is needed as the return value ofSoupAuthDomainDigest
's auth handler.For security reasons, you should store the encoded hash, rather than storing the cleartext password itself and calling this method only when you need to verify it. This way, if your server is compromised, the attackers will not gain access to cleartext passwords which might also be usable at other sites. (Note also that the encoded password returned by this method is identical to the encoded password stored in an Apache .htdigest file.)
- Parameters:
username
- a usernamerealm
- an auth realm namepassword
- the password forusername
inrealm
- Returns:
- the encoded password
- Throws:
UnsupportedPlatformException
- when run on a platform other than linux
-
setAuthCallback
Sets the callback that this AuthDomainDigest will use to authenticate incoming requests.For each request containing authorization, this AuthDomainDigest will invoke the callback, and then either accept or reject the request based on
callback
's return value.You can also set the auth callback by setting the
AuthDomainDigest:auth-callback
andAuthDomainDigest:auth-data
properties, which can also be used to set the callback at construct time.- Parameters:
callback
- the callback
-
builder
AAuthDomainDigest.Builder
object constructs aAuthDomainDigest
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withAuthDomainDigest.Builder.build()
.
-