In PR #155 we've added a page where users always have to confirm they want to start the authorization flow for a client. This is needed because our session cookie is SameSite=Strict so this cookie won't be sent when a user is redirected to zauth, unless the user does an interaction like clicking the "yes" button (issue #146).
I think a solution here would be to add a SameSite=Lax cookie with information about who is logged in, but which does not give authorization rights. When the authorization flow is started, the absence of this cookie would send the user directly to the login page. If such a cookie is present, we can present the new authorization page where the user has to confirm they want to login to the client with their user (similar as to how the Microsoft login works):

Special care should be taken to not give the Lax cookie rights to other authorizations, it should be purely to detect who could be logged in. One way to do this would be to not store the session id, but only the user's id or even the user's name.
In PR #155 we've added a page where users always have to confirm they want to start the authorization flow for a client. This is needed because our session cookie is
SameSite=Strictso this cookie won't be sent when a user is redirected to zauth, unless the user does an interaction like clicking the "yes" button (issue #146).I think a solution here would be to add a
SameSite=Laxcookie with information about who is logged in, but which does not give authorization rights. When the authorization flow is started, the absence of this cookie would send the user directly to the login page. If such a cookie is present, we can present the new authorization page where the user has to confirm they want to login to the client with their user (similar as to how the Microsoft login works):Special care should be taken to not give the
Laxcookie rights to other authorizations, it should be purely to detect who could be logged in. One way to do this would be to not store the session id, but only the user's id or even the user's name.