[Freeipa-devel] [PATCH] 569-583 New Login Screen

Petr Vobornik pvoborni at redhat.com
Tue Apr 15 10:47:10 UTC 2014


On 15.4.2014 12:05, Misnyovszki Adam wrote:
> On Tue, 15 Apr 2014 09:39:54 +0200
> Petr Vobornik <pvoborni at redhat.com> wrote:
>
>> On 11.4.2014 14:31, Misnyovszki Adam wrote:
>>> On Fri, 28 Mar 2014 14:04:13 +0100
>>> Petr Vobornik <pvoborni at redhat.com> wrote:
>>>
>>>> Attached patches replace IPA.unauthorized dialog with new Login
>>>> Screen.
>>>>
>>>> To make it happen, a support for standalone facets had to be
>>>> developed because current framework was limited by facets dependent
>>>> on entities and a container with menu. This new feature was already
>>>> used for Load facet which is part of this patchset and also will
>>>> be a basis for API browser and OTP sync page.
>>>>
>>>> Patches should fix these tickets:
>>>> https://fedorahosted.org/freeipa/ticket/3903
>>>> https://fedorahosted.org/freeipa/ticket/4017
>>>>
>>>> Depends on patches #565-#568.
>>>>
>>>>
>>>> [PATCH] webui: facet container
>>>> ------------------------------
>>>> A widget which servers as container for facets. FacetContainer is a
>>>> base class. App is specialization.
>>>>
>>>> Doing this abstraction will allow us to implement various facet
>>>> containers.
>>>>
>>>> [PATCH] webui: FormMixin
>>>> ------------------------
>>>> a mixin used for fields validation. Basically implements a logic
>>>> which is already in details facet and dialog.
>>>>
>>>> Now this logic can be used in any component.
>>>>
>>>> The long term goal is to replace the logic in details facet and
>>>> dialog with this mixin.
>>>>
>>>> [PATCH] webui: ContainerMixin
>>>> -----------------------------
>>>> A mixin which implements widget storing logic. Similar logic is
>>>> already implemented
>>>> in details facet and dialog.
>>>>
>>>> Long term goal is to replace that with this one.
>>>>
>>>> Separating the logic into mixin makes it usable in other
>>>> components.
>>>>
>>>> [PATCH] webui: standalone facet
>>>> -------------------------------
>>>> `facet.Facet` is a new base class for facets. It doesn't have any
>>>> dependencies
>>>> on entities so it's usable for general purpose facets, e.g., future
>>>> API browser,
>>>> load facet or login facet.
>>>>
>>>> [PATCH] webui: activity widget
>>>> ------------------------------
>>>> A widget for showing ongoing activity.
>>>>
>>>> Displays a text with changing dots.
>>>>
>>>> It listens to  `network-activity-start` and `network-activity-end`
>>>> topics.
>>>>
>>>> [PATCH] webui: publish network activity topics
>>>> ----------------------------------------------
>>>> Network activity is now published through global topics. It allows
>>>> other components like activity_widget to listen to them.
>>>>
>>>> [PATCH] webui: load page
>>>> ------------------------
>>>> Load page is a simple facet which is displayed up to 'runtime'
>>>> phase.
>>>>
>>>> On application start it tells the user that there is ongoing
>>>> activity.
>>>>
>>>> [PATCH] webui: validation summary widget
>>>> ----------------------------------------
>>>> A widget which aggregates warnings and errors and shows them on one
>>>> place.
>>>>
>>>> [PATCH] webui: login screen widget
>>>> ----------------------------------
>>>> Reimplementation of unauthorized dialog into separate widget. It
>>>> uses RCUE design.
>>>>
>>>> New features compared to unauthorized dialog:
>>>>
>>>> - reflects auth methods from `auth` module
>>>> - validation summary
>>>> - differentiates Kerberos auth failure with session expiration
>>>> - Caps Lock warning
>>>> - form based method doesn't allow password only submission
>>>>
>>>> https://fedorahosted.org/freeipa/ticket/4017
>>>> https://fedorahosted.org/freeipa/ticket/3903
>>>>
>>>>
>>>> [PATCH] webui: login page
>>>> -------------------------
>>>> A facet with login sreen widget.
>>>>
>>>> [PATCH] webui: authentication module
>>>> ------------------------------------
>>>> General purpose authentication interface and state. See doc of
>>>> 'freeipa/auth' module.
>>>>
>>>> [PATCH] webui: use asynchronous call for authentication
>>>>
>>>> Change `IPA.login_password` and `IPA.get_credentials` to use async
>>>> AJAX and to return promise instead of blocking the code.
>>>>
>>>> IPA.get_credentials is still partially blocking because of
>>>> negotiate process.
>>>> We can't do anything about that.
>>>>
>>>> It allows activity indicators to do their job.
>>>>
>>>> [PATCH] webui: fix combobox styles to work with selenium testing
>>>> [PATCH] webui-ci: adapt to new login screen
>>>> [PATCH] webui: remove IPA.unauthorized_dialog
>>>
>>> Hi,
>>>    - Attached patch fixes weird combobox behaviour - opens
>>> automatically on facet load
>>
>> Thank you. I squashed it into patch 581 since it's a fix for unpushed
>> code.
>>
>>>    - When trying to log in with password only(username field is
>>> empty), there is an error message "Authentication with Kerberos
>>> failed", which is not the desired behaviour. It should sign that
>>> the username field is invalid.
>>
>> New, attached version of patch #577 should fix that. It was a typo.
>>
>>>    - When trying to log in with kerberos credentials, and the realm
>>> of the krb ticket is not the same as the
>>>      realm of freeipa(eg freeipa realm is IPA.TEST.COM, and
>>>      the ticket's is TEST.COM), firefox goes into an endless cycle
>>>      calling the kerberos auth url. Currently it seems to me as a
>>> browser issue. Anyways, with correct krb ticket, authentication
>>> works fine.
>>
>> As investigated with Adam - not a FreeIPA issue.
>>
>>> Although, unit tests ran, integration tests ran as expected, and
>>> browsing through the code manually was ok for me, so if that
>>> validation issue is corrected, than it will be an ACK.
>>>
>>>
>>> Thanks:
>>> Adam
>>>
>>
>
> ACK
> Thanks:
> Adam
>

Pushed to master:
* 2680d21402d8ac51146bf03be3c0fd63ab49cada webui: facet container
* f39f4aaae2fef6de6a8312dcc652bcaa5766b22b webui: FormMixin
* dec7f98aa995b369f022813093ac88d0062e5089 webui: ContainerMixin
* 642345fd53faabd9183bef1a7667bdb7956d27f7 webui: standalone facet
* 93c4a6388bf05a754403a888e95e4a887180d9b1 webui: activity widget
* a1c25122788ec7d9d7953db840ca6067f979432d webui: publish network 
activity topics
* cb486136dbf86d52e75e1684d4876fd46c44aa22 webui: load page
* 0c8b04699b35ea48b897bcd3419a94dd90a07c5d webui: validation summary widget
* efc9e66f4ddff7c0aaae5d460ab41f6026fbd32d webui: login screen widget
* 7c068f036f64b3b5156862fc2fc5855db612ef2e webui: login page
* 2ec5d969a27b91b04a2b424d93800e68a77aa6e8 webui: authentication module
* 937533c48e27c5a8d4d63978d32990451a10a36a webui: use asynchronous call 
for authentication
* ad48697ff9a7a25f52047e3ddf68a551c89b0758 webui: fix combobox styles to 
work with selenium testing
* 466e32f9ec817f0a8102c5dc7881b42b18267df5 webui-ci: adapt to new login 
screen
* 6b0c6bf34435859a21936ad69d3eb984c27f9d8d webui: remove 
IPA.unauthorized_dialog

-- 
Petr Vobornik




More information about the Freeipa-devel mailing list