summaryrefslogtreecommitdiffstats
path: root/python/environs/py_login.c
diff options
context:
space:
mode:
Diffstat (limited to 'python/environs/py_login.c')
-rw-r--r--python/environs/py_login.c44
1 files changed, 41 insertions, 3 deletions
diff --git a/python/environs/py_login.c b/python/environs/py_login.c
index 5dcf08a5..d7734a2f 100644
--- a/python/environs/py_login.c
+++ b/python/environs/py_login.c
@@ -56,8 +56,8 @@ PyObject *login_getattr(PyObject *self, PyObject *args) {
login = LassoLogin_get(login_obj);
if (!strcmp(attr, "__members__"))
- return Py_BuildValue("[ssss]", "request", "response", "request_type",
- "msg_url");
+ return Py_BuildValue("[sssss]", "request", "response", "request_type",
+ "msg_url", "protocolProfile");
if (!strcmp(attr, "request"))
return (LassoNode_wrap(LASSO_PROFILE_CONTEXT(login)->request));
if (!strcmp(attr, "response"))
@@ -65,7 +65,9 @@ PyObject *login_getattr(PyObject *self, PyObject *args) {
if (!strcmp(attr, "request_type"))
return (int_wrap(LASSO_PROFILE_CONTEXT(login)->request_type));
if (!strcmp(attr, "msg_url"))
- return (charPtr_wrap(LASSO_PROFILE_CONTEXT(login)->msg_url));
+ return (charPtrConst_wrap(LASSO_PROFILE_CONTEXT(login)->msg_url));
+ if (!strcmp(attr, "protocolProfile"))
+ return (int_wrap(login->protocolProfile));
Py_INCREF(Py_None);
return (Py_None);
@@ -176,3 +178,39 @@ PyObject *login_init_authn_request(PyObject *self, PyObject *args) {
return (int_wrap(ret));
}
+
+PyObject *login_init_from_authn_request_msg(PyObject *self, PyObject *args) {
+ PyObject *login_obj;
+ gchar *authn_request_msg;
+ lassoHttpMethods authn_request_method;
+ gint ret;
+
+ if (CheckArgs(args, "OSI:login_init_from_authn_request_msg")) {
+ if(!PyArg_ParseTuple(args, (char *) "Osi:login_init_from_authn_request_msg",
+ &login_obj, &authn_request_msg, &authn_request_method))
+ return NULL;
+ }
+ else return NULL;
+
+ ret = lasso_login_init_from_authn_request_msg(LassoLogin_get(login_obj),
+ authn_request_msg,
+ authn_request_method);
+
+ return (int_wrap(ret));
+}
+
+PyObject *login_must_authenticate(PyObject *self, PyObject *args) {
+ PyObject *login_obj;
+ gboolean ret;
+
+ if (CheckArgs(args, "O:login_must_authenticate")) {
+ if(!PyArg_ParseTuple(args, (char *) "O:login_must_authenticate",
+ &login_obj))
+ return NULL;
+ }
+ else return NULL;
+
+ ret = lasso_login_must_authenticate(LassoLogin_get(login_obj));
+
+ return (int_wrap(ret));
+}