[dokuwiki] External authentication with login button

  • From: Marc Franquesa <marc.franquesa@xxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Fri, 26 May 2023 16:45:09 +0200

I am developing an authplugin merging code parts of authenvvars
(authentication via HTTP server REMOTE_USER) and login-redirector plugin
(to make the login button redirect to authportal).

My idea is to make any HTTP access unauthenticated, and require
authentication through HTTPS.

The plugin works fine as:

* If I authenticate thru the login portal, dokuwiki properly identifies and
get the user information and permissions
* If I login or logout via do=action I'm properly redirected and logged
in/out both on dokuwiki and the portal

However my problem is that Dokuwiki UI doesn't show the login button on the
web pages. However the do=login action works and the logout button and
action too. So is merely a UI issue: the login button is hidden for
unauthenticated (HTTP) users.

ACLs are enabled and users.auth.php and acl.auth.php are writable by the
web server. If I switch to any other authplugin (plain/LDAP) it also works
and shows the UI button to login, so my suspect is that dokuwiki decide to
disable the login button as my plugin implements trustExternal() (and
cando[external] is true).

I don't see either the code, examples or doc any cando['login'] reference
so I don't get what I miss in my code to make Dokuwiki show the login
button to the user.

Any clues/hints?

Other related posts: