@Override
    protected void verifyProfile(final CommonProfile userProfile) {
        val profile = (OidcProfile) userProfile;
        assertEquals("818727", profile.getId());
        assertNotNull(profile.getIdToken());
        assertEquals("test", profile.getAudience().get(0));
        assertNotNull(profile.getNotBefore());
        assertEquals("idsvr", profile.getAttribute("idp"));
        assertNotNull(profile.getAuthTime());
        assertEquals("http://localhost:1941", profile.getIssuer());
        assertEquals("Alice Smith", profile.getDisplayName());
        assertNotNull(profile.getExpirationDate());
        assertNotNull(profile.getIssuedAt());
        assertNotNull(profile.getAttribute("sid"));
        if (flow == Flow.IMPLICIT_FLOW || flow == Flow.IMPLICIT_FLOW_CLIENT_SIDE) {
            assertNull(profile.getAccessToken());
            assertEquals(12, profile.getAttributes().size());
        } else if (flow == Flow.AUTHORIZATION_CODE) {
            assertNotNull(profile.getAccessToken());
            assertEquals(12, profile.getAttributes().size());
        } else if (flow == Flow.HYBRID_FLOW) {
            assertNotNull(profile.getAccessToken());
            assertEquals(13, profile.getAttributes().size());
        }
    }
Run a manual test for the IdentityServer4 (https://github.com/IdentityServer/IdentityServer4/src/Host)
with the following configuration:

new Client
{
    ClientId = "test",
    ClientSecrets = new List<Secret>
    {
        new Secret("secret".Sha256())
    },
    RedirectUris = new List<string>
    {
        "http://www.pac4j.org/"
    },
    AllowedGrantTypes = GrantTypes.ImplicitAndClientCredentials,
    AllowedScopes = new List<string>
    {
        "openid", "profile", "email"
    }
},

@author Jerome Leleu
@since 1.9.2
pac4j-oidc/src/test/java/org/pac4j/oidc/run/RunIdentityServer4.java