
For vores klient, en betydelig belgisk virksomhed med afdelinger i USA og Kina, tilbød vi at integrere deres Azure Active Directory med redmine. Vi tænkte: "Redmine har en indbygget understøttelse af LDAP, så dette burde ikke være et problem." Hver gang du siger "dette burde ikke være et problem", er du i en godbid.
Azure Active Directory var relativt ny for vores kunde på det tidspunkt. De havde først for nylig synkroniseret deres brugere med Azure Active Directory (AAD) ved hjælp af ADConnect, så de tænkte på at bruge Azure-brugerdatabasen til et enkelt logon (SSO) i Redmine. Alternativet var at oprette en dublet lokal Redmine-brugerdatabase, som virkede langt ude. Da vores klient er fortrolig med Microsoft-teknologier, var det første, der kom til at tænke på LDAP.
De antog, at aktivering af LDAP i Azure-biblioteket kun handlede om at vende en switch. Hvem vidste det ikke var. For at få LDAP til at fungere i Azure, skulle vores klient konfigurere en ekstra Azure Active Directory Service. For at gøre en lang historie kort: det viste sig at være for kompliceret og dyrt.
Under processen fandt vores klient ud af, at Azure understøtter oAuth og Saml, nyere protokoller til brugergodkendelse. Disse protokoller er tilsyneladende bag "login-knapper", som alle kender: log ind med Google & log ind med Facebook.

Heldigvis er der et plugin kaldet redmine_omniauth_azure det gør tricket. Vi installerede det i vores Redmine uden problemer. Det eneste, vores klient skulle gøre med hensyn til indstillinger, var at følge instruktionerne på https://github.com/Gucin/redmine_omniauth_azure. Vores klient skulle også registrere en app i henhold til instruktionerne på https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app og tilføje en omdirigerings-URL. Omdirigerings-URL'en er det sted, hvor brugeren lander efter at have logget på Azure. I vores tilfælde var det den grundlæggende Redmine URL https://client.redmine-x.com.
I Redmine-plugin'et skulle vi opsætte følgende felter, som vi modtog fra vores klient.
Klient-id:
Klienthemmelighed:
Lejer-id:
For at afslutte opsætningen skulle vi være i stand til at teste godkendelsen. Det er derfor, vi bad om en testbruger i Azure-biblioteket. Da vi loggede ind for første gang, skulle vi tilføje en MFA-check (Multi-Factor Authentication) til testkontoen, så vi brugte https://www.office.com for det første login.

Derefter fik vi stadig en fejl efter at have logget ind med Azure Active Directory. Problemet var at oprette Redmine-brugerkonti. Når en bruger logger på Redmine ved hjælp af Azure for første gang, oprettes en konto til ham i Redmine ved hjælp af de samme legitimationsoplysninger som i Azure. Det kræver nogle indstillinger. Du skal indstille "selvregistreringen" på https://client.redmine-x.com/settings?tab=authentication til automatisk kontoaktivering. Hvis du har brug for kontrol over, hvem der opretter konti i din Redmine, skal du ændre dette til manuel kontoaktivering, og alle administratorer vil modtage et link til at aktivere de nye konti.
Så flowet er:
- Brugere klikker på knappen "Login via Azure".
- Derefter bliver de omdirigeret til Azure, hvor de logger på med deres Azure-legitimationsoplysninger
- De bliver omdirigeret tilbage til Redmine og bliver automatisk logget ind
- Hvis Redmine er indstillet til "manuel kontoaktivering", vil alle brugere få en besked "Din konto blev oprettet og afventer nu administratorgodkendelse."
Advarsel: hvis kontoaktiveringen er sat til "manuel kontoaktivering", og brugeren forsøger at logge ind igen, vil han få en intern fejl, da Redmine ikke kan vise en menneskeorienteret fejlmeddelelse.
Et par sidste bemærkninger:
- Alt var indstillet til en bestemt Redmine URL. Hvis du skal ændre URL'en i fremtiden, skal du teste dette og også ændre alle URL'er i Azure
- Du skal konfigurere notifikationer. Indstillingerne er både i Redmine https://client.redmine-x.com/settings?tab=notifications og på serveren i filen configuration.yml i /config. E-mailadresserne skal matche.
Så dette var vores Azure-oplevelse. Har du brug for sådan noget, står vi klar til at hjælpe dig.
Vil du have en NY Redmine-oplevelse og øge din produktivitet?
Start gratis prøveversionDel dette, hvis du kunne lide det!
Tag et kig på vores Youtube Channel.