DigiD Examples

This is an example which can be used within a render template for a channel which should use DigiD authentication.

It uses a se:switch statement to handle login and logoff dependent on the query-string parameter(s) and it assumes there's a Page-scoped buffer with the name targeturl.

 

Smartsite SXML CopyCode image Copy Code
{session.enable()}

<se:switch>
    <se:case expression="request.query(forcelogin)==1">
        <!--// Redirect naar DigiD login, daarna door naar targetUrl -->
        {digid.redirecttologin(DIGID_LOGIN,buffer.get(targeturl,Page))}
    </se:case>
    <se:case expression="request.query(logoff)==1">
        <!--// ends the Digid session -->
        <se:if expression="digid.isvalid()">
            <p>Session for user with BSN {digid.useridentifier()} has been ended.</p>
        </se:if>
        {digid.logoff()}
    </se:case>
    <se:case expression="(itemdata.field('Authorization.AuthLevel') GT digid.currentlevel())">
        <!--// Redirect naar DigiD login als huidig access level onvoldoende is, daarna door naar targetUrl -->
        {digid.redirecttologin(DIGID_LOGIN,buffer.get(targeturl,Page))}
    </se:case>
    <se:case expression="digid.isvalid()">
        <!--// Redirect naar targetUrl -->
        {response.redirect(buffer.get(targeturl,Page))}
    </se:case>
</se:switch>