Re: Renew Horde credentials for each IMP login

Michael M Slusarz <[email protected]>
Newsgroups gmane.comp.horde.devel
Message-ID <20141218083754.Horde.6rXsAtHcAPmeGwRBVrF7fQ2@bigworm.curecanti.org>
Quoting SSRI <[email protected]>:

> Michael M Slusarz <[email protected]> a écrit :
>
>> Quoting SSRI <[email protected]>:
>>
>>> Michael M Slusarz <[email protected]> a écrit :
>>>
>>>> Quoting SSRI <[email protected]>:
>>>>
>>>>> Michael M Slusarz <[email protected]> a écrit :
>>>>>
>>>>>> Quoting SSRI <[email protected]>:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> We've built a custom authentication driver that provides Horde  
>>>>>>> a One-Time password (OTP) : this password will allow only one  
>>>>>>> login to IMAP server.
>>>>>>>
>>>>>>> How do you force the authentication driver to renew  
>>>>>>> credentials for each IMP login ? We didn't find any  
>>>>>>> OTP-compatible authentication driver included in Horde.
>>>>>>
>>>>>> Do you mean on every IMP access?
>>>>>
>>>>> Yes
>>>>>
>>>>>>
>>>>>> If so, your best bet is to use the 'pushapp' hook - grab the  
>>>>>> IMP_Imap object using the IMP_Imap factory and set the password  
>>>>>> in the Horde_Imap_Client object using setParam('password',  
>>>>>> Password Object).
>>>>>>
>>>>>
>>>>> Ok.
>>>>>
>>>>> And should I grab the new password with Horde_Core_Factory_Auth (
>>>>> calling
>>>>> $GLOBALS['injector']->getInstance('Horde_Core_Factory_Auth')->create()
>>>>> ) inside the pushapp hook ?
>>>>
>>>> Don't know what you are asking for here.  If you designed/created  
>>>> the system to generate a new IMAP password, you should get the  
>>>> new password from that system.  This has nothing to do with Horde  
>>>> authentication, as far as I can tell.
>>>>
>>>
>>> The system to generate the new IMAP password is in the Auth driver  
>>> ... Wouldn't be easier ( cleaner ? ) if Horde authentication  
>>> system would allow to update credentials inside an auth driver ?
>>
>>
>> No.
>>
>> The problem is that we may be using cached information that relies  
>> on the previous auth credentials.  There is currently no way of  
>> broadcasting that the auth credentials has changed for a certain  
>> application that is guaranteed to update this cached information  
>> everywhere.
>>
>> This is why we require a brand new session when changing a password  
>> via the passwd application, for example.
>>
>
> What about invalidate the current auth with validateAuth() function  
> inside the auth driver ?

This was already discussed.  Changing the auth credentials in the  
authentication object does NOT remove other cached bits that may be  
using the old data.

> Wouldn't be too heavy to have a brand new session for each password  
> renewing ?

We *do* have a brand new session for each password change, so I guess  
I'm not seeing what you are asking here.

michael

___________________________________
Michael Slusarz [[email protected]]

-- 
dev mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.