Tag: C#

  • Domino als OIDC provider gebruiken

    Domino als OIDC provider gebruiken

    Nieuw in HCL Domino 14.5 is dat de Domino HTTP taak kan fungeren als een OIDC identiteitsprovider. Een OIDC provider is een dienst die identiteiten beheert en gebruikt voor authenticatie via het OpenID Connect (OIDC) protocol, wat het mogelijk maakt om via één inlog tegelijk in te loggen op meerdere applicaties (Single Sign-On).

    Met deze functie kunnen Domino beheerders hun bestaande Domino HTTP authenticatie-ervaring gebruiken (inclusief wachtwoordsleutels, TOTP, aangepaste Domino Web Server configuratie inlogformulieren en externe identiteitsproviders) om eindgebruikers te authentiseren met applicaties, servers en services die OIDC ondersteunen.

    De Domino OIDC-providerfunctionaliteit maakt gebruik van ondertekende JWT-toegangstokens en id-tokens en werkt naadloos met de HTTP Bearer-authenticatie en web aanmelding met OIDC-functionaliteit in Domino 12.0.2 FP3 en hoger.

    Hoe de HCL Domino Server ingesteld moet worden voor deze functie staat in detail beschreven in de HCL Domino 14.5 Documentatie, daar is gewoon weinig aan toe te voegen. Mocht dat niet lukken kan INECO natuurlijk helpen met het opzetten van een werkende omgeving.

    Voorbeeld toepassing

    Maar wat kan je nou met OIDC en Domino?
    Als jouw bedrijf de gebruikers (en wachtwoorden) al in de Domino directory heeft staan, wat is dan makkelijker dan alle applicaties in het bedrijf waarvoor een intern account nodig is te kunnen authentiseren tegen dat adresboek? En dan ook nog eens met een Single Sign On zodat het invoeren van de gegevens slechts een keer nodig is per sessie?
    Dat werkt natuurlijk met interne Web applicaties van Notes, zoals Verse, maar dat is niet echt nieuw.
    Wel nieuw is dat bijvoorbeeld een eigen maatwerk applicatie, geschreven in een andere programmeertaal kan aanmelden op de Domino Server.

    Razor Page OIDC

    In dit geval hebben wij een heel kaal voorbeeld van Microsoft Learn gedownload en in Visual Studio bewerkt.
    Deze web applicatie, RazorPageOidc is een in C# geschreven applicatie waar een bezoeker direct moet aanmelden om verder te kunnen.

    Als op de Domino server de juiste instellingen volgens de documentatie van HCL zijn gemaakt kan het Internet site document gekozen worden in de Domino IdP Catalog binnen de Domino OIDC Provider configuratie.

    Vervolgens kan er in de zelfde IdP Catalog een Registered OAuth Client geconfigureerd worden. Kies hier de net aangemaakte Domino OIDC Provider, bedenk een Client ID en een Client secret, meest eenvoudige is om een GUID (Globally unique identifier) te genereren in bijvoorbeeld Visual Studio.

    De applicatie RazorPageOidc maakt gebruik van openID Connect implementatie van Microsoft en bij het voorbereiden van deze demo bleek dat de Authentication Method op “Client secret post” moet staan om snel een de gang te kunnen met de voorbeeld code.

    De applicatie is in dit geval in Visual Studio ingesteld om op https poort 65081 te draaien, dat is natuurlijk voor iedereen zelf in te stellen. Deze gebruikte openID code werkt met een redirect naar “/signin-oidc” (dit kan per gebruikte implementatie verschillen).

    Voor het aanmelden zijn de waardes openid en profile verplicht om op te nemen in de Scope, extra scopes zijn optioneel. De meest gebruikte signatures zijn ES256.

    Daarmee is de Client configuratie in Domino al afgerond. Aanpassingen aan dit document zijn direct actief.


    In de programma code zijn drie belangrijke variabelen, “Authority”, “ClientId” en “ClientSecret”.

    Het is natuurlijk normaal niet de bedoeling om aanmeld gegevens te tonen op een website, maar nu is het alleen voor de demo gebruikt.

    Wij moeten de applicatie vertellen wat de URL is van de HCL Domino server waar aangemeld kan worden. Dit is de website met de toevoeging “/auth/protocol/oidc”.
    Bij het aanmelden zal de code daar zelf “.well-known/openid-configuration” aan toevoegen. Zie hiervoor ook Domino OIDC provider HTTP endpoints.
    Bij ClientID en ClientSecret vullen wij de waardes in die eerder in het Registered OAuth Client configuratie document zijn ingevuld.

    Na de aanpassingen van de variabelen starten wij nu de web applicatie, en wordt het HCL Domino aanmeldscherm getoond vanaf de Domino server.

    Op de achtergrond worden de gegevens die gevraagd zijn in de Scope in een versleutelde JSON token gezet en worden we teruggeleid naar de applicatie met deze token in de URL.
    De applicatie kan op basis van de gegevens bepalen of de aanmelding is gelukt, en eventuele gegevens zoals mailadres, naam, rollen e.d. uit de token herleiden.

    In de demo wordt de naam gebruikt die terug komt van Domino in de menubalk.

    Dit is natuurlijk wel een hele simpele toepassing, maar laat goed zien hoe eenvoudig een HCL Domino 14.5 Server een OIDC aanmelding kan aanbieden!

    Notitie:

    Bij deze test kregen wij steeds de melding “ArgumentException: IDX14101: Unable to decode the payload”. Domino bleek de waarde nonce: te starten met aanhalingstekens,maar niet af te sluiten. Door ProtocolValidator.RequireNonce op onwaar te zetten werkte de demo.

    Nuttige commando’s

    Bij het testen bleek dat soms de aanmelding hardnekkig actief blijft waarbij het nuttig kan zijn bepaalde commando’s op de Domino server console te kunnen uitvoeren:

    • oidcp show users: Toont alle inlogsessies en autorisatietoekenningen.
    • oidcp show users “Username”: Toont alle inlogsessies en autorisatietoekenningen voor een specifieke gebruiker.
    • oidcp revoke user “Username”: Trekt alle sessies en toekenningen voor een gebruiker in.
    • oidcp show grants: Toont actieve autorisatietoekenningen op de Domino OIDC-provider.
    • oidcp show clients: Toont geregistreerde OIDC-clients.
    • oidcp revoke client “client_id”: Trekt alle sessies voor een specifieke client in

    Bronnen:

    HCL: Using Domino as an OIDC provider

    HCL: Domino OIDC provider HTTP endpoints

    HCL: HTTP Bearer authentication replacements

    Microsoft: OpenID Connect (OIDC) on the Microsoft identity platform – Microsoft identity platform | Microsoft Learn

    Microsoft: Microsoft.IdentityModel.Protocols.OpenIdConnect Namespace – Microsoft Authentication Library for .NET | Microsoft Learn

  • Wat is INECO

    Wat is INECO

    Wat is INECO

    INECO staat voor Intranet & Network Consultancy, een ICT adviseringsbureau, opgericht in 1996.

    Ik ben van oorsprong gespecialiseerd in HCL Notes en HCL Domino.

    Als het iets te doen heeft met HCL Notes of Domino, dan kan ik je helpen!

    Daarnaast heb ik ook veel ervaring met andere programmeertalen zoals C#, VB, PHP, CSS, HTML, Java, Javascript etc.

    Bekend met Agile werken, ik ben o.a. Professional Scrum Master (PSMII) en Professional Scrum Product Owner (PSPO I) gecertificeerd.

    Mijn doelstelling is om voor een redelijk bedrag goede kwaliteit werk te leveren, zonder fratsen en poeha.

    HCLSoftware Certified Professional Administrator - Notes/Domino 14.5
    HCLSoftware Certified Associate Developer - Notes/Domino 14
    Professional Scrum Master II
    Professional Scrum Product Owner I
    INECO - #dominoforever

    Wat doet INECO

    Ontwikkeling

    Het ontwikkelen en onderhouden van HCL Notes-applicaties is mijn specialisme. Daarnaast ontwikkel en onderhoud ik applicaties en oplossingen op andere platformen en met verschillende programmeertalen.

    Ik heb ervaring met Microsoft Visual Studio, waaronder C# en VB.NET, en met webtechnologieën zoals PHP, JavaScript, HTML5 en CSS. Ook werk ik met andere programmeertalen, zoals Python.

    In de praktijk betekent dit dat ik bestaande applicaties kan aanpassen of uitbreiden, nieuwe applicaties kan ontwikkelen en kan helpen bij het oplossen van problemen in bestaande programmacode. Ook voor het ontwikkelen van websites, thema’s en plug-ins kan ik worden ingezet.

    Mijn expertise op het gebied van HCL Notes en HCL Domino wordt onderstreept door mijn certificering als HCLSoftware Certified Associate Developer – Notes/Domino 14.

    Op zoek naar een ervaren Lotus Notes-, IBM Notes- of HCL Notes-ontwikkelaar?
    Lees dan verder of neem direct contact met mij op.

    Beheer

    INECO - AdminCentral

    Ik verzorg de installatie, migratie, uitrol en het onderhoud van HCL Notes-werkplekken en HCL Domino-servers. Ook voor organisaties die geen eigen Domino-specialist meer in huis hebben.
    Daarnaast kan ik helpen met de implementatie en het beheer van aanverwante producten, zoals HCL Traveler, HCL Sametime en anti-spam- en antivirusoplossingen voor Windows en Linux.

    Ook op het gebied van algemeen systeembeheer kan ik ondersteuning bieden wanneer dit aansluit bij jouw ICT-omgeving en behoeften. Ik heb brede kennis van verschillende besturingssystemen, waaronder Windows en Linux, en van serveromgevingen, netwerken en telefonie. Daarbij heb ik ervaring met zowel lokale infrastructuren als cloudomgevingen, waaronder Microsoft Azure.

    Mijn kennis van HCL Domino en HCL Notes wordt onderstreept door mijn certificering als HCLSoftware Certified Professional Administrator – Notes/Domino 14.5.

    Support

    Wil je de zekerheid dat jouw HCL Domino-omgeving betrouwbaar blijft draaien en dat jouw applicaties met de tijd meegaan?

    Met een HCL Notes Support Contract bij INECO heb je een ervaren HCL Domino specialist achter de hand voor vragen, storingen, onderhoud en advies.

    Wil je jouw HCL Domino-omgeving betrouwbaar en up-to-date houden? Neem dan gerust contact met mij op.

    Consultancy

    HCL Domino Licence Analysis Utility

    Als HCL Domino consultant adviseer ik organisaties over de inzet van informatietechnologie en help ik bij de implementatie van oplossingen die aansluiten bij hun bedrijfsdoelstellingen.

    Mijn expertise ligt op het gebied van HCL Domino en HCL Notes. Vanuit deze specialistische kennis denk ik mee over technische vraagstukken, verbeteringen en implementaties. Waar relevant kan ik ook adviseren over andere ICT-gerelateerde onderwerpen.

    Agile

    Sinds 2015 heb ik ruime ervaring met verschillende disciplines binnen het Scrum-framework. Sinds 2020 beschik ik over de certificeringen Professional Scrum Master II (PSM II) en Professional Scrum Product Owner I (PSPO I).

    Als Scrum Master of Product Owner help ik teams om effectief samen te werken, focus te houden op de gewenste resultaten en continu te verbeteren. Daarmee draag ik bij aan een betere samenwerking, hogere productiviteit en een effectieve ontwikkeling van producten en oplossingen.

    Op zoek naar een ervaren HCL Domino consultant of Scrum Master?
    Neem dan contact met mij op.

    Berichten van INECO

    • Fix Pack 1 voor Domino 14.5.1

      Fix Pack 1 voor Domino 14.5.1

      HCL Notes/Domino 14.5.1 Fix Pack 1 (FP1) is uitgebracht op 16 juli 2026  en wordt aanbevolen voor alle klanten. Als u versie 14.5.1 gebruikt, installeer dan dit Fix Pack eroverheen. 14.5.1 Fix Pack 1 is een verzameling van oplossingen met een laag risico en een grote impact, bedoeld om klanten te helpen bekende problemen veilig te…

      Lees verder

    • Domino Server 14.5.1 Interim Fix 1

      Domino Server 14.5.1 Interim Fix 1

      Er is een probleem opgelost waarbij de HCL DominoIQ RAG-functie werd beïnvloed door een beveiligingslek in de toegangscontrole. Onder bepaalde omstandigheden werden toegangsbeperkingen op documentniveau genegeerd bij het bepalen welke gegevens een AI-query moest retourneren. Dit kon een geauthenticeerde aanvaller in staat stellen gevoelige gegevens in te zien. Dit is opgelost in Domino Server 14.5.1…

      Lees verder

    • HCL Domino 14.5.1: Jouw Data, Jouw AI, Jouw Controle

      HCL Domino 14.5.1: Jouw Data, Jouw AI, Jouw Controle

      In een wereld waar data het nieuwe goud is, wordt de afhankelijkheid van buitenlandse cloudleveranciers (met name uit de VS) een steeds groter risico voor Europese organisaties. Met de release van HCL Domino 14.5.1 zet HCLSoftware een nieuwe standaard voor de veilige, soevereine werkplek. Volledige Onafhankelijkheid van ‘Amerikaanse’ Clouds Waar veel moderne AI-oplossingen en samenwerkingstools…

      Lees verder

    Contact

    Hulp nodig met HCL Notes of Domino?
    Ik help je graag verder.

    +31 6 53 35 31 40
    info@ineco.nl

    Op afstand of bij jou op locatie.
    Adres en route vind je op de contactpagina.

    Hoe ik werk

    Op afstand

    Veel werkzaamheden kan ik gewoon op afstand uitvoeren.

    Op locatie

    Als het nodig is, kom ik bij jou op locatie.

    Persoonlijk

    Direct contact, praktisch en zonder onnodige omwegen.

    INECO is aangesloten bij ZZP Nederland.

    De merknaam INECO en het INECO logo zijn gedeponeerd onder het nummer 0966575 bij het Benelux-Bureau voor de Intellectuele Eigendom.

    INECO is voor bedrijfsaansprakelijkheid en beroepsaansprakelijkheid verzekerd bij Hiscox.

    INECO is verzekerd voor arbeidsongeschiktheid bij a.s.r.

  • Badges & achievements

    Badges & achievements

    Door de jaren heen heb ik verschillende certificeringen, trainingen en professionele achievements behaald op het gebied van onder andere HCL, IBM en andere technologieën.

    Een Credly-badge is een digitaal en verifieerbaar bewijs van een behaalde vaardigheid, certificering, training of andere professionele prestatie. De badges worden uitgegeven door organisaties die het Credly-platform gebruiken, waaronder HCLSoftware, IBM en Microsoft.

    Op deze pagina vind je een selectie van mijn behaalde badges, vanaf 2018.

    Ze geven een beeld van de kennis die ik door de jaren heen heb opgebouwd en van de gebieden waarin ik mij regelmatig verder heb verdiept.

    Bekijk mijn volledige Credly-profiel

    Wil je alle badges bekijken of een specifieke certificering of achievement verifiëren?

    Bekijk mijn Credly-profiel

    INECO - HCLSoftware Certified Professional Administrator - Notes/Domino 14.5
    HCLSoftware Certified Associate Developer - Notes/Domino 14
    INECO - HCLSoftware Certified Associate Administrator - Notes/Domino 12
    Verified Ethical Hacker
    Microsoft Certified: Azure Fundamentals
    Professional Scrum Master II
    Professional Scrum Master I
    Professional Scrum Product Owner I
    Exam 483: Programming in C#
    Data Science Methodologies
    IBM Watson Studio Visual Recognition Essentials
    Watson OpenScale Foundations
    IBM Blockchain Essentials V2
    IBM Blockchain Essentials *
    Big Data Foundations **
    Big Data Foundations *
    Spark *
    Principles of Reactive Architecture
    Applied Data Science with Python **
    Machine Learning with Python *
    Hadoop Foundations *
    IBM Business Partner Cloud Success
    Data Science for Business **
    Data Science for Business *
    Build Your Own Chatbot
    Docker Essentials: A Developer Introduction
    IBM Cloud Essentials
    IBM Domino 10 Sales Advisor v1
  • Terugvallen op de Notes C API

    Terugvallen op de Notes C API

    Tussen de kerstdagen eigenlijk vrij gehouden, maar een klant heeft een redelijke simpele wens om alle encrypted berichten in een paar honderd IBM Notes mailfiles te de-crypten voor een conversie naar Office 365, zonder tussenkomst van de gebruiker.
    Met LotusScript liep ik helaas tegen een aantal bugs/beperkingen aan. Dus maar een virtuele Windows machine ingericht met de oude vertrouwde C compiler en Notes C API toolkit kijken of er om heen te programmeren valt.

    Vanzelfsprekend is dit na enige hindernissen wel gelukt.
    Met het notes.id van de gebruiker (dit is wel een noodzakelijk ding) kan een de versleuteling van een bericht in de postbus van die gebruiker opgeheven worden.
    In dit geval heb ik een script gemaakt dat het ID van de gebruiker uit de ID Vault haalt, en het wachtwoord reset. Vervolgens wordt met dit ID en wachtwoord de berichten in de postbus ontsleutelt zodat de export naar Office 365 zonder problemen kan verlopen.

     

     

  • Examen 70-483: Programming in C# behaald

    Examen 70-483: Programming in C# behaald

    Na twee korte LOI opleidingen, C# Essentials en HBO Programmeren in C#, heb ik ook het Microsoft examen 70-483 behaald.

    Examen 70-483: Programming in C#
    Examen 70-483

    De opleidingen van de LOI kunnen handig zijn om je op weg te helpen in C# maar bestaan veelal uit een verzameling van referenties naar gratis te vinden instructiefilmpjes op internet, o.a. van de Microsoft Learn website en andere gratis leermiddelen.
    Persoonlijk vond ik het niet heel erg aansluiten op het 70-483 examen.

    Inmiddels ben ik ook gestart met de voorbereiding op een volgend C# gerelateerde examen. Deze keer probeer ik de stof direct via de door Microsoft aanbevolen lesstof eigen te maken.