Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix provider ID and removed /test/1 in redirect_uri #85

Merged
merged 2 commits into from
Apr 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Single sign-on (SSO) is a property of access control of multiple related, yet in
* Instagram - https://www.instagram.com/developer/authentication/
* LinkedIn - https://docs.microsoft.com/en-us/linkedin/shared/authentication/authorization-code-flow?context=linkedin/context
* Generic - Allow to define custom URLs
* Zitadel - use _Generic_ and see parameters in [Generic Examples - Zitadel](generic_examples/zitadel.md)

# Screenshots

Expand Down
29 changes: 29 additions & 0 deletions generic_examples/zitadel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
- Go to Zitadel and login as admin
- Create a new Project, name for example: glpi
- Create a new Application in this new project, name for example: glpi
- Type of application: WEB
- Authentication Method: CODE
- Redirect URIs: empty, will be set later
- Create
- Save Client-ID and Client-Secret, we need it later
- Go to GLPI and login as a Super-Admin
- Install and activate the plugin
- Go to the plugin settings
- Create your first Single Sign-on Provider with the following options
- Name: choose one you like
- Client ID: the previous saved Client-ID from Zitadel
- client Secret: the previous saved Client-Secret from Zitadel
- Scope: openid email profile
- Authorize URL: https://zitadel.example.com/oauth/v2/authorize
- Access Token URL: https://zitadel.example.com/oauth/v2/token
- Resource Owner Details URL: https://zitadel.example.com/oidc/v1/userinfo
- SplitDomain: Yes
- Split Name: Yes
- Save Settings
- Copy the Callback URL and go back to Zitadel
- Open the project and the application, then go to Redirect Settings
- Paste the URL in Redirect URIs, click on the plus and save the settings
- Go back to GLPI and open the provider in the plugins settings again, now press Test Single Sign-on
- A Pop-Up should open and close after a few seconds and the side reloads
- Your current account should be linked now to your current Zitadel Account
- All users from Zitadel can login into glpi and will be created there automatically
3 changes: 2 additions & 1 deletion inc/provider.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,8 @@ function showForm($ID, $options = []) {
$("[name=test_singlesignon]").on("click", function (e) {
e.preventDefault();

var url = $("#singlesignon_callbackurl").attr("data-url") + "/test/1";
// Im not sure why /test/1 is added here, I got a problem with the redirect_uri because its added after /provider/id
var url = $("#singlesignon_callbackurl").attr("data-url"); // + "/test/1";
var left = ($(window).width()/2)-(600/2);
var top = ($(window).height()/2)-(800/2);
var newWindow = window.open(url, "singlesignon", "width=600,height=800,left=" + left + ",top=" + top);
Expand Down
2 changes: 1 addition & 1 deletion inc/toolbox.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public static function getCallbackUrl($row, $query = []) {

$url = $CFG_GLPI['root_doc'] . '/plugins/singlesignon/front/callback.php';

$url .= "/provider/".$row['id'];
$url .= "/provider/".$row;

if (!empty($query)) {
$_SESSION['redirect'] = $query['redirect'];
Expand Down
Loading