[4.0] WebAuth improvements#28241
[4.0] WebAuth improvements#28241wilsonge merged 19 commits intojoomla:4.0-devfrom C-Lodder:webauth-2
Conversation
|
One very important correction. You removed the |
|
@nikosdion So shall I just use The |
nikosdion
left a comment
There was a problem hiding this comment.
I can't comment on the ES6 implementation; as I said it's not my cup of tea and I only know enough of it to be dangerous 😆
The CSS comment is more of a question than a request for change. If there is a reason you removed the management CSS please let me know; maybe we can remove that file altogether.
The thing about onclick is the most important thing I'd like to revert, though. Your solution works great and looks great but I'm afraid it is prone to misleading core and third party developers, undermining the grander vision of Joomla providing core support for non-password logins. I am relying on this feature's existence in 4.0 to implement free plugins for Synology SSO, possibly Amazon AWS SSO and definitely social logins. I'd even contribute these plugins if it wasn't for Joomla not allowing core contributions to only target specific third party products which are not web standards, i.e. the reason my older U2F TFA plugin never made it to the core back in 2013.
plugins/system/webauthn/Webauthn/PluginTraits/AdditionalLoginButtons.php
Show resolved
Hide resolved
|
@C-Lodder I explained it more in depth in my code review. It's not about WebAuthn working – your solution works great – but making it possible for third parties to be able to reliably implement non-password logins. Single Sign-On is an essential enterprise / corporate feature and there is active interest in it; people have approached me asking to implement that in Joomla 3 on the basis that it's similar to what I'm doing with SocialLogin. My feeling from Forum For The Future in Spain earlier this year is that Joomla is trying to be friendlier to enterprise users (makes sense; that's where the money, therefore the corporate volunteer time, will come from). So these 30 or so characters can make a big difference for our future. |
|
@nikosdion Sorry, only just saw your actual code review comments now. I've reverted the main |
|
@C-Lodder Your change is good. That's the only place I think needed change. Backend code is fully owned by the plugin, there's no link to the changes in mod_login. I'm happy :) |
|
Looks good at a quick review. Can someone just do a quick test of functionality and good to merge |
plugins/system/webauthn/Webauthn/PluginTraits/AdditionalLoginButtons.php
Outdated
Show resolved
Hide resolved
plugins/system/webauthn/Webauthn/PluginTraits/AdditionalLoginButtons.php
Outdated
Show resolved
Hide resolved
|
@nikosdion @dgrammatiko Data attributes are now in place |
|
Since I was mentioned here I guess I need to provide some answers, so: @HLeithner you are right about CSP and that was one of the driving forces to remove all the inline listeners but there is one more reason: reducing the vector for XSS attacks. I'm not sure if this was ever written in any of the production team meetings but there was a consensus on that some years ago IIRC. And now the part that @C-Lodder will gonna hate me for 😂, couple more suggestions:
|
|
can you fix the conflicting file please |
|
I'm not against what @dgrammatiko said actually - i'm definitely in favour of progressive enhancement - but I'd like to see this merged as a first step on the path to greatness :) - this es6 refactor is required either way (even if it can be cleaned up a bit further when we move to modules) So that being said can we please test this? |
|
Conflicts resolved |
|
Is this going anywhere? |
|
@C-Lodder please don't close this, it's highly needed to be merged |
|
(sorry I can't test right now) |
Co-authored-by: Brian Teeman <brian@teeman.net>
|
I feel a bit un-easy merging this without tests - but I guess there's a better chance of testing if it's in core :/ |
Summary of Changes
Joomla.prefixonclickattributes)backend.cssimport, which doesn't seem to be part of JoomlaTesting Instructions
#28094 (comment)
Expected result
WebAuth feature works same as before, without any JS errors.
@nikosdion @dgrammatiko