Giter Club home page Giter Club logo

Comments (5)

jeriox avatar jeriox commented on July 18, 2024 1

I suppose you need to hand something to the Identity Provider (token?) to reference the user that should be logged out? Do you know any documentation about how that should be done? If we need to pass something. we might not be able to include that as it would be provider-specific

Regarding the redirect afterwards I had a quick look at the code and https://github.com/H2CK/oidc/blob/master/lib/Controller/LogoutController.php#L266-L273 has a post_redirect_uri that can be passed. But again, this is specific to the provider and therefore can't make it into ephios core.

from ephios.

jeriox avatar jeriox commented on July 18, 2024

The functionality that you describe is not currently part of the OIDC specification. There are specific implementations for some Identity Providers, e.g. mozilla/mozilla-django-oidc#320 explains how to set this up with keycloak for our OIDC library. There is an additional spec (https://openid.net/specs/openid-connect-session-1_0.html) that is either in draft status or not yet implemented by Identity Providers, I wasn't quite sure which one is appropriate.

So the feature you requested would most probably need some specific code for nextcloud similar to the issue linked above unless you can just redirect the user to a URL on the nextcloud (GET request). But that would mean that the users always end up on the nextcloud login page after logging out from ephios

from ephios.

pov91 avatar pov91 commented on July 18, 2024

We did something similar between Nextcloud and Moodle. Here the endpoint index.php/apps/oidc/logout mentioned in the documentation of the Nextcloud OIDC Provider App can be specified in the Moodle OIDC plugin. As a result, the user is forwarded to Nextcloud and logged out when the logout button is clicked. Unfortunately, there is no redirection back to Moodle, but the successful logout does not create a security gap. So that would be preferable.

from ephios.

pov91 avatar pov91 commented on July 18, 2024

About the settings: The identity provider needs a front-channel logout URL from the client and the client needs an IdP logout endpoint. I think a redirect is nice to have, but not absolutely necessary.

Here is the documentation of the Nextcloud app for the logout:
https://github.com/H2CK/oidc#endpoints

I think this might be helpful (this is what the Nextcloud app documentation refers to):
https://openid.net/specs/openid-connect-rpinitiated-1_0.html

The moodle plugin is part of the Microsoft Office 365 implementation in moodle - unfortunately without detailed documentation on the logout.

from ephios.

jeriox avatar jeriox commented on July 18, 2024

Regarding the redirect afterwards I had a quick look at the code and https://github.com/H2CK/oidc/blob/master/lib/Controller/LogoutController.php#L266-L273 has a post_redirect_uri that can be passed. But again, this is specific to the provider and therefore can't make it into ephios core.

@pov91 maybe you can experiment a bit while setting the logout URL, if I understood that section correctly you should be able to append a post_redirect_uri to the LOGOUT_URL that you set within ephios so it gets passed to nextcloud which in turn should redirect you back to ephios

from ephios.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.