summaryrefslogtreecommitdiffstats
path: root/ipaserver
diff options
context:
space:
mode:
authorTiboris <tibor.dudlak@gmail.com>2016-08-16 14:13:29 +0200
committerJan Cholasta <jcholast@redhat.com>2016-08-17 16:55:49 +0200
commitd25a0725c0e09891bd0df927641dac878dfe6a7d (patch)
tree7b9276c633b4bbfcdda8241ce3232ddc2360e0f2 /ipaserver
parentc36d721a01106e24186bd6b2f0fc74d7af31d5ba (diff)
downloadfreeipa-d25a0725c0e09891bd0df927641dac878dfe6a7d.tar.gz
freeipa-d25a0725c0e09891bd0df927641dac878dfe6a7d.tar.xz
freeipa-d25a0725c0e09891bd0df927641dac878dfe6a7d.zip
Added new authentication method
Addressing ticket https://fedorahosted.org/freeipa/ticket/5764 Reviewed-By: Stanislav Laznicka <slaznick@redhat.com>
Diffstat (limited to 'ipaserver')
-rw-r--r--ipaserver/plugins/xmlserver.py6
-rw-r--r--ipaserver/rpcserver.py17
2 files changed, 18 insertions, 5 deletions
diff --git a/ipaserver/plugins/xmlserver.py b/ipaserver/plugins/xmlserver.py
index d8fe24e0c..08c7456ed 100644
--- a/ipaserver/plugins/xmlserver.py
+++ b/ipaserver/plugins/xmlserver.py
@@ -28,12 +28,16 @@ register = Registry()
if api.env.context in ('server', 'lite'):
- from ipaserver.rpcserver import wsgi_dispatch, xmlserver, jsonserver_kerb, jsonserver_session, login_kerberos, login_password, change_password, sync_token, xmlserver_session
+ from ipaserver.rpcserver import (
+ wsgi_dispatch, xmlserver, jsonserver_kerb, jsonserver_session,
+ login_kerberos, login_x509, login_password, change_password,
+ sync_token, xmlserver_session)
register()(wsgi_dispatch)
register()(xmlserver)
register()(jsonserver_kerb)
register()(jsonserver_session)
register()(login_kerberos)
+ register()(login_x509)
register()(login_password)
register()(change_password)
register()(sync_token)
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
index d036f3c27..e48dc3498 100644
--- a/ipaserver/rpcserver.py
+++ b/ipaserver/rpcserver.py
@@ -857,16 +857,16 @@ class jsonserver_kerb(jsonserver, KerberosWSGIExecutioner):
key = '/json'
-class login_kerberos(Backend, KerberosSession, HTTP_Status):
- key = '/session/login_kerberos'
+class KerberosLogin(Backend, KerberosSession, HTTP_Status):
+ key = None
def _on_finalize(self):
- super(login_kerberos, self)._on_finalize()
+ super(KerberosLogin, self)._on_finalize()
self.api.Backend.wsgi_dispatch.mount(self, self.key)
self.kerb_session_on_finalize()
def __call__(self, environ, start_response):
- self.debug('WSGI login_kerberos.__call__:')
+ self.debug('WSGI KerberosLogin.__call__:')
# Get the ccache created by mod_auth_gssapi
user_ccache_name=environ.get('KRB5CCNAME')
@@ -876,6 +876,15 @@ class login_kerberos(Backend, KerberosSession, HTTP_Status):
return self.finalize_kerberos_acquisition('login_kerberos', user_ccache_name, environ, start_response)
+
+class login_kerberos(KerberosLogin):
+ key = '/session/login_kerberos'
+
+
+class login_x509(KerberosLogin):
+ key = '/session/login_x509'
+
+
class login_password(Backend, KerberosSession, HTTP_Status):
content_type = 'text/plain'