diff options
Diffstat (limited to '')
-rw-r--r-- | offapi/com/sun/star/auth/AuthenticationFailedException.idl | 39 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/InvalidArgumentException.idl | 39 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/InvalidContextException.idl | 39 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/InvalidCredentialException.idl | 39 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/InvalidPrincipalException.idl | 40 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/PersistenceFailureException.idl | 40 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/SSOManagerFactory.idl | 64 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/SSOPasswordCache.idl | 42 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/UnsupportedException.idl | 40 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/XSSOAcceptorContext.idl | 67 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/XSSOContext.idl | 69 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/XSSOInitiatorContext.idl | 72 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/XSSOManager.idl | 95 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/XSSOManagerFactory.idl | 49 | ||||
-rw-r--r-- | offapi/com/sun/star/auth/XSSOPasswordCache.idl | 95 |
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: */ |