summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/auth
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/auth
parentInitial commit. (diff)
downloadlibreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.tar.xz
libreoffice-ed5640d8b587fbcfed7dd7967f3de04b37a76f26.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/auth')
-rw-r--r--offapi/com/sun/star/auth/AuthenticationFailedException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidArgumentException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidContextException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidCredentialException.idl39
-rw-r--r--offapi/com/sun/star/auth/InvalidPrincipalException.idl40
-rw-r--r--offapi/com/sun/star/auth/PersistenceFailureException.idl40
-rw-r--r--offapi/com/sun/star/auth/SSOManagerFactory.idl64
-rw-r--r--offapi/com/sun/star/auth/SSOPasswordCache.idl42
-rw-r--r--offapi/com/sun/star/auth/UnsupportedException.idl40
-rw-r--r--offapi/com/sun/star/auth/XSSOAcceptorContext.idl67
-rw-r--r--offapi/com/sun/star/auth/XSSOContext.idl69
-rw-r--r--offapi/com/sun/star/auth/XSSOInitiatorContext.idl72
-rw-r--r--offapi/com/sun/star/auth/XSSOManager.idl95
-rw-r--r--offapi/com/sun/star/auth/XSSOManagerFactory.idl49
-rw-r--r--offapi/com/sun/star/auth/XSSOPasswordCache.idl95
15 files changed, 829 insertions, 0 deletions
diff --git a/offapi/com/sun/star/auth/AuthenticationFailedException.idl b/offapi/com/sun/star/auth/AuthenticationFailedException.idl
new file mode 100644
index 000000000..0548c92f9
--- /dev/null
+++ b/offapi/com/sun/star/auth/AuthenticationFailedException.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_AuthenticationFailedException_idl__
+#define __com_sun_star_auth_AuthenticationFailedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates failure to authenticate using the specified security context.
+
+ @since OOo 1.1.2
+ */
+published exception AuthenticationFailedException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidArgumentException.idl b/offapi/com/sun/star/auth/InvalidArgumentException.idl
new file mode 100644
index 000000000..93d31cec9
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidArgumentException.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_InvalidArgumentException_idl__
+#define __com_sun_star_auth_InvalidArgumentException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an invalid argument was passed to SSO API.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidArgumentException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidContextException.idl b/offapi/com/sun/star/auth/InvalidContextException.idl
new file mode 100644
index 000000000..85c523571
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidContextException.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_InvalidContextException_idl__
+#define __com_sun_star_auth_InvalidContextException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an attempt was made to use an invalid source or target context.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidContextException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidCredentialException.idl b/offapi/com/sun/star/auth/InvalidCredentialException.idl
new file mode 100644
index 000000000..06ce32992
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidCredentialException.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_InvalidCredentialException_idl__
+#define __com_sun_star_auth_InvalidCredentialException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an attempt was made to use an invalid or non existent credential.
+
+ @since OOo 1.1.2
+ */
+published exception InvalidCredentialException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/InvalidPrincipalException.idl b/offapi/com/sun/star/auth/InvalidPrincipalException.idl
new file mode 100644
index 000000000..fe7de4ab3
--- /dev/null
+++ b/offapi/com/sun/star/auth/InvalidPrincipalException.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_InvalidPrincipalException_idl__
+#define __com_sun_star_auth_InvalidPrincipalException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an invalid principal was specified.
+
+ @since OOo 1.1.2
+ */
+
+published exception InvalidPrincipalException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/PersistenceFailureException.idl b/offapi/com/sun/star/auth/PersistenceFailureException.idl
new file mode 100644
index 000000000..2ea221675
--- /dev/null
+++ b/offapi/com/sun/star/auth/PersistenceFailureException.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_PersistenceFailureException_idl__
+#define __com_sun_star_auth_PersistenceFailureException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an underlying persistence implementation failure.
+
+ @since OOo 1.1.2
+ */
+
+published exception PersistenceFailureException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/SSOManagerFactory.idl b/offapi/com/sun/star/auth/SSOManagerFactory.idl
new file mode 100644
index 000000000..424159eb4
--- /dev/null
+++ b/offapi/com/sun/star/auth/SSOManagerFactory.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_SSOManagerFactory_idl__
+#define __com_sun_star_auth_SSOManagerFactory_idl__
+
+#include <com/sun/star/auth/XSSOManagerFactory.idl>
+
+module com { module sun { module star { module auth {
+
+/** represents a starting point for Single Sign-on interactions.
+ <P>The Single Sign-on ( SSO ) APIs provide UNO based access to underlying
+ SSO implementations ( e.g. Kerberos ). The aim of the SSO APIs is to
+ enable authentication ( possibly mutual ) between a client ( source or
+ initiator ) and a network service ( target or acceptor ). This is
+ achieved via. the creation and processing of security tokens sent
+ between the two parties. The steps which should be followed to
+ successfully use the SSO APIs are as follows:
+ <UL>
+ <LI>Create an XSSOManagerFactory instance</LI>
+ <LI>Use this factory to create/retrieve an XSSOManager
+ instance.</LI>
+ <LI>Depending on whether your code is acting as SSO source or target,
+ you should use the XSSOManager instance to create an
+ initiator security context, XSSOInitiatorContext or an
+ acceptor security context, XSSOAcceptorContext
+ respectively.</LI>
+ <LI>On the initiator side, use the previously created context to process
+ security tokens received from the acceptor side and to create
+ security tokens to send to the acceptor side. On the acceptor side,
+ use the previously created context to process security tokens
+ received from the initiator side and to create security tokens to
+ send to the initiator side.</LI>
+ </UL>
+
+ The interface supports the creation of XSSOManager instances
+ which can subsequently be used to create security contexts.
+
+ @since OOo 1.1.2
+ */
+
+published service SSOManagerFactory: XSSOManagerFactory;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/SSOPasswordCache.idl b/offapi/com/sun/star/auth/SSOPasswordCache.idl
new file mode 100644
index 000000000..7bf03cbb8
--- /dev/null
+++ b/offapi/com/sun/star/auth/SSOPasswordCache.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_SSOPasswordCache_idl__
+#define __com_sun_star_auth_SSOPasswordCache_idl__
+
+#include <com/sun/star/auth/XSSOPasswordCache.idl>
+
+module com { module sun { module star { module auth {
+
+/** provided as a convenience for simple username/password based Single Sign-on
+ implementations which don't provide some sort of authentication information
+ repository.
+
+ provides access to a cache which maps usernames to associated passwords.
+ Individual cache entries may be persisted.
+
+ @since OOo 1.1.2
+ */
+published service SSOPasswordCache: XSSOPasswordCache;
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/UnsupportedException.idl b/offapi/com/sun/star/auth/UnsupportedException.idl
new file mode 100644
index 000000000..11535d31d
--- /dev/null
+++ b/offapi/com/sun/star/auth/UnsupportedException.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_UnsupportedException_idl__
+#define __com_sun_star_auth_UnsupportedException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+module com { module sun { module star { module auth {
+
+/** indicates an operation unsupported by the implementation.
+
+ @since OOo 1.1.2
+ */
+
+published exception UnsupportedException : ::com::sun::star::uno::Exception
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOAcceptorContext.idl b/offapi/com/sun/star/auth/XSSOAcceptorContext.idl
new file mode 100644
index 000000000..af3421548
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOAcceptorContext.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_XSSOAcceptorContext_idl__
+#define __com_sun_star_auth_XSSOAcceptorContext_idl__
+
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/InvalidContextException.idl>
+#include <com/sun/star/auth/InvalidCredentialException.idl>
+#include <com/sun/star/auth/XSSOContext.idl>
+
+module com { module sun { module star { module auth {
+
+/** represents an acceptor side security context.
+ <P>This context may be used to authenticate a Single Sign-on initiator based
+ on a security token sent by the initiator and to generate a token to be
+ sent back to the initiator so that it can authenticate the acceptor.
+
+ @since OOo 1.1.2
+*/
+
+published interface XSSOAcceptorContext : ::com::sun::star::auth::XSSOContext
+{
+ /** accepts/authenticates an SSO token sent from the context initiator side.
+ <P>
+ accept() should be called only once. Subsequent calls produce
+ undefined results.
+
+ @param Token
+ the SSO token sent by the initiator.
+
+ @returns
+ the sequence of bytes to be sent back to the initiator to allow
+ authentication of the acceptor side, if mutual authentication is
+ supported by the security context. If mutual authentication is not
+ supported a zero length sequence is returned.
+ */
+
+ sequence< byte > accept( [in] sequence< byte > Token )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidContextException,
+ AuthenticationFailedException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOContext.idl b/offapi/com/sun/star/auth/XSSOContext.idl
new file mode 100644
index 000000000..9aa21a364
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOContext.idl
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_XSSOContext_idl__
+#define __com_sun_star_auth_XSSOContext_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module auth {
+
+/** Base SSO security context representation
+
+ @since OOo 1.1.2
+ */
+published interface XSSOContext : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the principal name of the source/initiator of the context.
+ <P>
+ In the case of an acceptor side security context, the source principal
+ name is available only after the initiator has been authenticated.
+
+ @returns
+ the source principal name
+ */
+ string getSource();
+
+ /** retrieves the principal name of the target/acceptor of the context.
+
+ @returns
+ the target principal name
+ */
+ string getTarget();
+
+ /** retrieves the mechanism associated with the context.
+
+ @returns
+ the mechanism name
+ */
+ string getMechanism();
+
+ /** retrieves whether or not the context supports mutual authentication
+
+ @returns
+ `TRUE` if mutual authentication is supported, `FALSE` otherwise.
+ */
+ boolean getMutual();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOInitiatorContext.idl b/offapi/com/sun/star/auth/XSSOInitiatorContext.idl
new file mode 100644
index 000000000..57eb15615
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOInitiatorContext.idl
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_XSSOInitiatorContext_idl__
+#define __com_sun_star_auth_XSSOInitiatorContext_idl__
+
+#include <com/sun/star/auth/AuthenticationFailedException.idl>
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/InvalidContextException.idl>
+#include <com/sun/star/auth/InvalidCredentialException.idl>
+#include <com/sun/star/auth/XSSOContext.idl>
+
+module com { module sun { module star { module auth {
+
+/** represents an initiator side security context.
+ <P>This context may be used to initialize authentication tokens to send to
+ an acceptor and to authenticate any token sent back in response.
+
+ @since OOo 1.1.2
+ */
+published interface XSSOInitiatorContext : ::com::sun::star::auth::XSSOContext
+{
+ /** initializes an SSO Token to send to the acceptor side and
+ authenticates an SSO Token returned by the acceptor if the
+ context supports mutual authentication.
+ <P>
+ init should be called only once for contexts which don't support
+ mutual authentication and at most twice for contexts which do
+ support mutual authentication. Additional calls produce undefined
+ results.
+
+ @param Token
+ the SSO token received from the acceptor side in response to an
+ authentication request. This token is ignored on the first call
+ to init and should only be specified for the second call on a
+ context supporting mutual authentication.
+
+ @returns
+ the sequence of bytes to be sent to the acceptor side as part of
+ an authentication request. This sequence will be non zero length
+ for the first call to init, zero length for the second call to init
+ on a context supporting mutual authentication and undefined in all
+ other cases.
+ */
+ sequence< byte > init( [in] sequence< byte > Token )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidContextException,
+ AuthenticationFailedException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOManager.idl b/offapi/com/sun/star/auth/XSSOManager.idl
new file mode 100644
index 000000000..ba31289bf
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOManager.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_XSSOManager_idl__
+#define __com_sun_star_auth_XSSOManager_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/InvalidCredentialException.idl>
+#include <com/sun/star/auth/InvalidPrincipalException.idl>
+#include <com/sun/star/auth/UnsupportedException.idl>
+#include <com/sun/star/auth/XSSOAcceptorContext.idl>
+#include <com/sun/star/auth/XSSOInitiatorContext.idl>
+
+module com { module sun { module star { module auth {
+
+/** supports the creation of security contexts for both
+ the initiator/source side and the acceptor/target side.
+
+ @since OOo 1.1.2
+ */
+published interface XSSOManager : ::com::sun::star::uno::XInterface
+{
+ /** retrieves the mechanism name of all security contexts created using
+ this manager.
+
+ @returns
+ the mechanism name ( e.g. "KERBEROS" )
+ */
+ string getMechanism();
+
+
+ /** creates an initiator side security context.
+
+ @param SourcePrincipal
+ the name of the initiator side principal for which the context
+ will be created.
+
+ @param TargetPrincipal
+ the name of the target/acceptor side principal to which the source
+ principal intends to authenticate.
+
+ @param TargetHost
+ the host name associated with the target principal.
+
+ @returns
+ the newly created initiator context.
+ */
+ XSSOInitiatorContext createInitiatorContext(
+ [in] string SourcePrincipal,
+ [in] string TargetPrincipal,
+ [in] string TargetHost )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidPrincipalException,
+ UnsupportedException );
+
+
+ /** creates an acceptor side security context.
+
+ @param TargetPrincipal
+ the name of the acceptor side principal.
+
+ @returns
+ the newly created acceptor side context.
+ */
+ XSSOAcceptorContext createAcceptorContext(
+ [in] string TargetPrincipal )
+ raises( InvalidArgumentException,
+ InvalidCredentialException,
+ InvalidPrincipalException,
+ UnsupportedException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOManagerFactory.idl b/offapi/com/sun/star/auth/XSSOManagerFactory.idl
new file mode 100644
index 000000000..c66edbd3c
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOManagerFactory.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_XSSOManagerFactory_idl__
+#define __com_sun_star_auth_XSSOManagerFactory_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/auth/XSSOManager.idl>
+
+module com { module sun { module star { module auth {
+
+/** Factory for creating an SSO Manager supporting the user's configured
+ security mechanism
+
+ @since OOo 1.1.2
+ */
+
+published interface XSSOManagerFactory : ::com::sun::star::uno::XInterface
+{
+ /** provides a XSSOManager to be used in subsequent security
+ context creation.
+
+ @returns
+ the relevant XSSOManager instance
+ */
+ XSSOManager getSSOManager();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/auth/XSSOPasswordCache.idl b/offapi/com/sun/star/auth/XSSOPasswordCache.idl
new file mode 100644
index 000000000..23aac255b
--- /dev/null
+++ b/offapi/com/sun/star/auth/XSSOPasswordCache.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_auth_XSSOPasswordCache_idl__
+#define __com_sun_star_auth_XSSOPasswordCache_idl__
+
+#include <com/sun/star/auth/InvalidArgumentException.idl>
+#include <com/sun/star/auth/PersistenceFailureException.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module auth {
+
+/** supports password caching for security mechanisms which use passwords as
+ credentials or as an input to credential creation but don't have
+ an external method to cache these passwords.
+
+ @since OOo 1.1.2
+ */
+
+published interface XSSOPasswordCache : ::com::sun::star::uno::XInterface
+{
+ /** adds a username/password combination to the cache.
+ <P>
+ If an entry for the specified username already exists in the cache, it
+ will be overwritten.
+
+ @param UserName
+ the user name to add
+
+ @param Password
+ the associated password
+
+ @param Persist
+ indicates whether or not the username/password combination should be
+ persisted
+ */
+ void addPassword( [in] string UserName,
+ [in] string Password,
+ [in] boolean Persist )
+ raises( InvalidArgumentException,
+ PersistenceFailureException );
+
+ /** retrieves a password for a given user from the cache.
+ <P>
+ Non persistent cache is searched first, followed by the
+ persistent cache ( if it exists ).
+
+ @param UserName
+ the name of the user whose password should be retrieved
+
+ @param Persist
+ indicates whether or not the password is persistent
+
+ @returns
+ the required password
+ */
+ string getPassword( [in] string UserName, [out] boolean Persist )
+ raises( InvalidArgumentException,
+ PersistenceFailureException );
+
+ /** removes a password from the cache
+
+ @param UserName
+ the name of the user whose password should be removed.
+
+ @param RemovePersist
+ indicates whether or not the password should also be removed, if
+ present, from persistent cache.
+ */
+ void removePassword( [in] string UserName, [in] boolean RemovePersist )
+ raises( InvalidArgumentException,
+ PersistenceFailureException );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */