This document describes all the OP tests that the OpenID Connect test suite contains.


Table of Contents

1. Test description syntax

The test description files are JSON documents. Each of these documents contains a JSON object with a set of keys and values. The possible keys are:

These will be described one by one below.

1.1. assert

Lists the assertions that are performed after a test has completed.

A example is:

    "assert": {
        "verify-response": {
              "response_cls": [
                    "OpenIDSchema"
              ]
        }
    }

The interpretation of this is that the assertion with the identifier

verify-response will be executed with the argument
    response_cls="OpenDISchema"

If a test run reaches the end of the request sequence the assertion checks are run one after the other.

When some assertion checks fails that is registered as an Error, for some other checks a failure is logged as a Warning. And then there are a few where how a failure is interpreted is configurable.

To get the result of the whole test run the results of the assertion checks are added together. Such that if there is one or more Error failures then the result of the test is an Error. If there is no Error failures but at least on Warning failure then the result is a Warning. If no failures are encountered that is logged as a Success.

1.2. desc

A human readable description of what the test is trying to accomplish.

1.3. group

Which group the test belongs to. When the tests are presented to the tester tests belonging to the same group are listed together under the group header.

Present list of used groups:

1.4. note

In some case the test tool needs to pass information to the tester. This is where that information is stored.

1.5. reference

Links to parts of the OpenID Connect and accompanying standards that are tested by the test.

1.6. sequence

The complete flow of a test. This consists of a number of requests.

Before a request is issued the arguments fo the request may be set to specific values. Also before a request is sent a check my be performed to figure out if there is any meaning to send the request. One reason for it not to be so would be that the OP does not support the functionality that is under test.

An simple example of a sequence:

  "sequence": [
    {
      "Webfinger": {
        "set_webfinger_resource": null
      }
    },
    {
      "Discovery": {
        "set_discovery_issuer": null
      }
    }
  ]

This sequence contains 2 requests, the first being a Webfinger request and the second a discovery request. Before the webfinger request is sent, the webfinger resource is specified by the set_webfinger_resource function. Similarly, before the discovery request is sent the issuer is collected using the set_discovery_issuer function.

Note: If webfinger is not supported then that request is not sent.
The same goes for discovery. Which means that running this test when not supporting dynamic discovery is useless.

A slightly more complex sequence:

  "sequence": [
    {
      "Webfinger": {
        "set_webfinger_resource": null
      }
    },
    {
      "Discovery": {
        "set_discovery_issuer": null
      }
    },
    "Registration",
    {
      "AsyncAuthn": {
        "set_response_where": null
      }
    },
    {
      "AccessToken": {
        "conditional_execution": {
          "return_type": [
            "CIT",
            "CI",
            "C",
            "CT"
          ]
        }
      }
    },
    {
      "UserInfo": {
        "set_op_args": {
          "method": "POST",
          "authn_method": "token_in_message_body"
        }
      }
    }
  ]

This starts in the same way as the previous one. Webfinger, provider info discovery and client registration is performed if supported.

Then follows an Authorization, an Access token and finally an Userinfo request.

Note:The Access token request will only be performed if the response_type is one of "code", "code token", "code id_token" or "code id_token token".

Note: The Userinfo request will be formed as described in Section 2.2 of RFC6750

usage

Specifies when the test can be used. This is connected to the test profiles.

Example:

  "usage": {
    "sig": true,
    "register": true,
    "extra": true
  }

This specific test will be included if the tester has specified that extra tests should be used and the OpenID provider that is being tested supports dynamic registration and signature creation/verification.

The complete set of usage demands are:

webfinger
Tests if Webfinger is supported
enc
Tests if encryption and decryption is supported
extra
This test is an extra test. Not necessary to run for basic standard conformance testing
discover
Tests that dynamic discovery is supported
sig
Tests that signature creation and signature validation is supported
none
Tests support for signing_alg=None
return_type
The response_types that are expected to be used during testing
register
Tests is dynamic client registration is supported
form_post
Tests if the form_post response_type is supported

MTI

Mandatory to implement NOT USED

2. Tests

2.1. OP-claims-essential

Claims request with essential name claim

JSON description OP-claims-essential
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
set_essential_arg_claim
AccessToken
conditional_execution
UserInfo
conditional_execution
set_op_args
Assertions verify-claims
check-http-response
Group claims Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#IndividualClaimsRequests

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.2. OP-ClientAuth-Basic-Dynamic

Access token request with client_secret_basic authentication

JSON description OP-ClientAuth-Basic-Dynamic
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
check_support
set_request_args
AsyncAuthn
set_response_where
AccessToken
check_support
set_op_args
Assertions verify-response
Group Client Authentication
Return Types Code
Code IDtoken
Code IDToken Token
Code Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.3. OP-ClientAuth-Basic-Static

Access token request with client_secret_basic authentication

JSON description OP-ClientAuth-Basic-Static
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
check_support
set_op_args
Assertions verify-response
Group Client Authentication
Return Types Code
Code IDtoken
Code IDToken Token
Code Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.4. OP-ClientAuth-SecretPost-Dynamic

Access token request with client_secret_post authentication

JSON description OP-ClientAuth-SecretPost-Dynamic
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
check_support
set_request_args
AsyncAuthn
set_response_where
AccessToken
check_support
set_op_args
Assertions verify-response
Group Client Authentication
Return Types Code
Code IDtoken
Code IDToken Token
Code Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.5. OP-ClientAuth-SecretPost-Static

Access token request with client_secret_post authentication

JSON description OP-ClientAuth-SecretPost-Static
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
check_support
set_op_args
Assertions verify-response
Group Client Authentication
Return Types Code
Code IDtoken
Code IDToken Token
Code Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.6. OP-Discovery-claims_supported

Verify that claims_supported is published

JSON description OP-Discovery-claims_supported
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Assertions providerinfo-has-claims_supported
check-http-response
Group Discovery
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.7. OP-Discovery-Config

Publishes openid-configuration discovery information

JSON description OP-Discovery-Config
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Assertions check-http-response
verify-op-endpoints-use-https
verify-https-usage
verify-id_token_signing-algorithm-is-supported
Group Discovery
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.8. OP-Discovery-JWKs

Keys in OP JWKs well formed

JSON description OP-Discovery-JWKs
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Assertions check-http-response
verify-base64url
Group Discovery
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata
https://tools.ietf.org/html/rfc7517#section-5

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.9. OP-Discovery-jwks_uri

Verify that jwks_uri is published

JSON description OP-Discovery-jwks_uri
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Assertions bare-keys
providerinfo-has-jwks_uri
check-http-response
Group Discovery
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.10. OP-display-page

Request with display=page

JSON description OP-display-page
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_request_args
check_support
Assertions verify-response
Group display Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note To make sure you get a login page, please remove any cookies you may have received from the OpenID Provider before proceeding. You should get a normal user agent login page view.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.11. OP-display-popup

Request with display=popup

JSON description OP-display-popup
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_request_args
check_support
Assertions verify-response
Group display Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note To make sure you get a login page, please remove any cookies you may have received from the OpenID Provider before proceeding. You should get a popup user agent login window.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.12. OP-IDToken-at_hash

ID Token has at_hash when ID Token and Access Token are returned from the Authorization Endpoint

JSON description OP-IDToken-at_hash
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group ID Token
Return Types IDToken Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken
https://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.13. OP-IDToken-C-Signature

Does the OP sign the ID Token and with what

JSON description OP-IDToken-C-Signature
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
conditional_execution
Assertions verify-response
is-idtoken-signed
Group ID Token
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.14. OP-IDToken-c_hash

ID Token has c_hash when ID Token and Authorization Code returned from Authorization Endpoint [Hybrid]

JSON description OP-IDToken-c_hash
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group ID Token
Return Types Code IDtoken
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken
https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.15. OP-IDToken-kid

IDToken has kid [Basic, Implicit, Hybrid]

JSON description OP-IDToken-kid
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
conditional_execution
Assertions verify-response
verify-signed-idtoken-has-kid
Group ID Token
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#Signing

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.16. OP-IDToken-none

Unsecured ID Token signature with null [Basic]

JSON description OP-IDToken-none
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
check_support
AsyncAuthn
set_response_where
Assertions unsigned-idtoken
verify-response
Group ID Token
Return Types Code
Code Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#IDToken

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.17. OP-IDToken-RS256

Asymmetric ID Token signature with RS256

JSON description OP-IDToken-RS256
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
AsyncAuthn
set_response_where
AccessToken
conditional_execution
Assertions verify-idtoken-is-signed
verify-response
Group ID Token
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#Signing
https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.18. OP-nonce-code

ID Token has nonce when requested for code flow

JSON description OP-nonce-code
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_request_args
Assertions verify-nonce
verify-response
Group nonce Request Parameter
Return Types Code
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
https://openid.net/specs/openid-connect-core-1_0.html#IDToken

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.19. OP-nonce-noncode

Request with nonce, verifies it was returned in ID Token [Implicit, Hybrid]

JSON description OP-nonce-noncode
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AccessToken
conditional_execution
Assertions check-idtoken-nonce
verify-response
Group nonce Request Parameter
Return Types IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
https://openid.net/specs/openid-connect-core-1_0.html#IDToken

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.20. OP-nonce-NoReq-code

Login no nonce, code flow [Basic]

JSON description OP-nonce-NoReq-code
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_request_args
Assertions verify-response
Group nonce Request Parameter
Return Types Code
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.21. OP-nonce-NoReq-noncode

Reject requests without nonce unless using the 'code' or 'code token' flow

JSON description OP-nonce-NoReq-noncode
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_request_args
set_expect_error
Assertions verify-response
Group nonce Request Parameter
Return Types IDToken
IDToken Token
Code IDtoken
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
https://openid.net/specs/openid-connect-core-1_0.html#IDToken
Note There are two acceptable outcomes: (1) returning an error response to the RP or (2) returning an error message to the End-User. In case (2), you must submit a screen shot of the error shown as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.22. OP-OAuth-2nd

Trying to use authorization code twice should result in an error

JSON description OP-OAuth-2nd
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
set_expect_error
Assertions check-http-error-response
verify-response
Group OAuth behaviors
Return Types Code
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-4.1.2
Note This test should result in the OpenID Provider returning an error message.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.23. OP-OAuth-2nd-30s

Trying to use authorization code twice with 30 seconds in between uses must result in an error

JSON description OP-OAuth-2nd-30s
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
set_expect_error
Assertions check-http-error-response
verify-response
Group OAuth behaviors
Return Types Code
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-4.1.2
Note A 30 second delay is added between the first and the second use of the authorization code. This test should result in the OpenID Provider returning an error message.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.24. OP-OAuth-2nd-Revokes

Trying to use authorization code twice should result in revoking previously issued access tokens

JSON description OP-OAuth-2nd-Revokes
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
set_expect_error
UserInfo
set_expect_error
set_op_args
Assertions verify-response
Group OAuth behaviors
Return Types Code
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-4.1.2
Note This test should result in the OpenID Provider returning an error message after the userinfo endpoint is accessed with a revoked access token.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.25. OP-prompt-login

Request with prompt=login

JSON description OP-prompt-login
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
set_request_args
AccessToken
conditional_execution
conditional_execution
Assertions multiple-sign-on
verify-response
Group prompt Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note You should be prompted to authenticate or re-authenticate. Please submit a screen shot of any authentication user interaction that occurred as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.26. OP-prompt-none-LoggedIn

Request with prompt=none when logged in [Basic, Implicit, Hybrid]

JSON description OP-prompt-none-LoggedIn
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AccessToken
conditional_execution
conditional_execution
AsyncAuthn
set_request_args
Assertions same-authn
verify-response
Group prompt Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.27. OP-prompt-none-NotLoggedIn

Request with prompt=none when not logged in

JSON description OP-prompt-none-NotLoggedIn
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_expect_error
set_response_where
set_request_args
Assertions verify-error-response
Group prompt Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note This tests what happens if the authentication request specifies that no interaction may occur with the End-User and no recent enough authentication is present to enable a silent login. Please remove any cookies you may have received from the OpenID Provider before proceeding.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.28. OP-redirect_uri-Missing

Reject request without redirect_uri when multiple registered

JSON description OP-redirect_uri-Missing
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
multiple_return_uris
AsyncAuthn
set_response_where
set_request_args
Assertions verify-response
Group redirect_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note This test should result in the OpenID Provider displaying an error message in your user agent. You should ignore the status of this test in the test tool, since it will be incomplete. You must submit a screen shot of the error shown as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.29. OP-redirect_uri-NotReg

Sent redirect_uri does not match a registered redirect_uri

JSON description OP-redirect_uri-NotReg
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
set_request_args
Assertions verify-response
Group redirect_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note This test should result in the OpenID Provider displaying an error message in your user agent. You should ignore the status of this test in the test tool, since it will be incomplete. You must submit a screen shot of the error shown as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.30. OP-redirect_uri-Query-Added

Request with redirect_uri with query component when registered redirect_uri has no query component

JSON description OP-redirect_uri-Query-Added
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
redirect_uri_with_query_component
Assertions verify-response
Group redirect_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-3.1.2
Note This test should result in the OpenID Provider displaying an error message in your user agent. You should ignore the status of this test in the test tool, since it will be incomplete. You must submit a screen shot of the error shown as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.31. OP-redirect_uri-Query-Mismatch

Rejects redirect_uri when query parameter does not match what is registered

JSON description OP-redirect_uri-Query-Mismatch
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
redirect_uris_with_query_component
AsyncAuthn
redirect_uri_with_query_component
set_response_where
Assertions verify-response
Group redirect_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-3.1.2
Note This test should result in the OpenID Provider displaying an error message in your user agent. You should ignore the status of this test in the test tool, since it will be incomplete. You must submit a screen shot of the error shown as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.32. OP-redirect_uri-Query-OK

Request with a redirect_uri with a query component when a redirect_uri with the same query component is registered

JSON description OP-redirect_uri-Query-OK
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
redirect_uris_with_query_component
AsyncAuthn
redirect_uri_with_query_component
set_response_where
Assertions check-query-part
verify-response
Group redirect_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-3.1.2

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.33. OP-redirect_uri-RegFrag

Reject registration where a redirect_uri has a fragment

JSON description OP-redirect_uri-RegFrag
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
redirect_uris_with_fragment
expect_exception
Assertions verify-error-response
Group redirect_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-3.1.2

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.34. OP-Registration-Dynamic

Client registration request

JSON description OP-Registration-Dynamic
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Assertions check-http-response
Group Dynamic Client Registration
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-registration-1_0.html#RegistrationRequest

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.35. OP-Registration-Endpoint

Verify that registration_endpoint is published

JSON description OP-Registration-Endpoint
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Assertions verify-op-has-registration-endpoint
Group Dynamic Client Registration
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.36. OP-Registration-jwks

Uses keys registered with jwks value

JSON description OP-Registration-jwks
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
static_jwk
set_request_args
AsyncAuthn
set_response_where
AccessToken
check_support
set_op_args
Assertions verify-response
Group Dynamic Client Registration
Return Types Code
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.37. OP-Registration-jwks_uri

Uses keys registered with jwks_uri value

JSON description OP-Registration-jwks_uri
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
AsyncAuthn
set_response_where
AccessToken
check_support
set_op_args
Assertions verify-response
Group Dynamic Client Registration
Return Types Code
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.38. OP-Registration-logo_uri

Registration with logo_uri

JSON description OP-Registration-logo_uri
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_uri
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Dynamic Client Registration
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata
Note This test verifies that an OP displays the RP's logo. To make sure you get a fresh login page, you need to remove any cookies you may have received from the OP before proceeding.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.39. OP-Registration-policy_uri

Registration with policy_uri

JSON description OP-Registration-policy_uri
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_uri
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Dynamic Client Registration
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata
Note This test verifies that an OP displays a link to the RP's policy document. To make sure you get a fresh login page, you need to remove any cookies you may have received from the OP before proceeding.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.40. OP-Registration-Sector-Bad

Incorrect registration of sector_identifier_uri

JSON description OP-Registration-Sector-Bad
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
check_support
store_sector_redirect_uris
set_request_args
expect_exception
Assertions
Group Dynamic Client Registration
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.41. OP-Registration-tos_uri

Registration with tos_uri

JSON description OP-Registration-tos_uri
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_uri
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Dynamic Client Registration
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata
Note This test verifies that an OP displays a link to the RP's terms of service. To make sure you get a fresh login page, you need to remove any cookies you may have received from the OP before proceeding.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.42. OP-Req-acr_values

Providing acr_values

JSON description OP-Req-acr_values
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
acr_value
AccessToken
conditional_execution
Assertions used-acr-value
verify-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#acrSemantics

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.43. OP-Req-claims_locales

Providing claims_locales

JSON description OP-Req-claims_locales
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
claims_locales
set_response_where
AccessToken
conditional_execution
UserInfo
conditional_execution
set_op_args
Assertions check-http-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ClaimsLanguagesAndScripts
Note This test requests that claims be returned using the specified locale(s). The use of this parameter in the request must not cause an error at the OP.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.44. OP-Req-id_token_hint

Using prompt=none with user hint through id_token_hint

JSON description OP-Req-id_token_hint
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
set_response_where
set_request_args
id_token_hint
AccessToken
conditional_execution
conditional_execution
Assertions same-authn
verify-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.45. OP-Req-login_hint

Providing login_hint

JSON description OP-Req-login_hint
In-flow checks
VerifyConfiguration
check_config
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
login_hint
set_response_where
Assertions verify-authn-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note Please remove any cookies you may have received from the OpenID Provider before proceeding. This test requests that you log in as a specific user, so a fresh login page is needed.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.46. OP-Req-max_age=1

Requesting ID Token with max_age=1 seconds restriction

JSON description OP-Req-max_age=1
In-flow checks
Webfinger
set_webfinger_resource
set_webfinger_resource
Discovery
set_discovery_issuer
set_discovery_issuer
AccessToken
conditional_execution
conditional_execution
AsyncAuthn
set_response_where
set_request_args
Assertions claims-check
auth_time-check
multiple-sign-on
verify-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note Wait at least one second before proceeding so that the max_age=1 period expires. You should be prompted to authenticate or re-authenticate. Please submit a screen shot of any authentication user interaction that occurred as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.47. OP-Req-max_age=10000

Requesting ID Token with max_age=10000 seconds restriction

JSON description OP-Req-max_age=10000
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
set_response_where
set_request_args
AccessToken
conditional_execution
conditional_execution
Assertions claims-check
same-authn
auth_time-check
verify-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.48. OP-Req-NotUnderstood

Request with extra query component

JSON description OP-Req-NotUnderstood
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
set_request_args
Assertions verify-authn-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-3.1.2

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.49. OP-Req-ui_locales

Providing ui_locales

JSON description OP-Req-ui_locales
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
ui_locales
set_response_where
Assertions verify-authn-response
Group Misc Request Parameters
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest
Note Please remove any cookies you may have received from the OpenID Provider before proceeding. You need to do this so you can check that the login page is displayed using one of the requested locales. The use of this parameter in the request must not cause an error at the OP.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.50. OP-request-Unsigned

Support request request parameter with unsigned request

JSON description OP-request-Unsigned
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
check_support
AsyncAuthn
set_response_where
set_op_args
Assertions authn-response-or-error
Group request Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#RequestObject

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.51. OP-request_uri-Sig

Support request_uri request parameter with signed request

JSON description OP-request_uri-Sig
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
check_support
AsyncAuthn
set_response_where
set_op_args
request_in_file
Assertions authn-response-or-error
Group request_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#RequestUriParameter
https://openid.net/specs/openid-connect-core-1_0.html#SignedRequestObject

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.52. OP-request_uri-Sig-any

Support request_uri request parameter with signed request

JSON description OP-request_uri-Sig-any
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
set_op_args
request_in_file
Assertions authn-response-or-error
Group request_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#RequestUriParameter
https://openid.net/specs/openid-connect-core-1_0.html#SignedRequestObject

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.53. OP-request_uri-Unsigned

Support request_uri request parameter with unsigned request

JSON description OP-request_uri-Unsigned
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
check_support
AsyncAuthn
set_response_where
set_op_args
request_in_file
Assertions verify-response
Group request_uri Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#RequestUriParameter

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.54. OP-Response-code

Request with response_type=code

JSON description OP-Response-code
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Response Type
Return Types Code
Link to specification https://tools.ietf.org/html/rfc6749#section-4.1.2

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.55. OP-Response-code+id_token

Request with response_type=code id_token

JSON description OP-Response-code+id_token
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
check-idtoken-nonce
Group Response Type
Return Types Code IDtoken
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.56. OP-Response-code+id_token+token

Request with response_type=code id_token token

JSON description OP-Response-code+id_token+token
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Response Type
Return Types Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.57. OP-Response-code+token

Request with response_type=code token

JSON description OP-Response-code+token
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Response Type
Return Types Code Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.58. OP-Response-form_post

Request with response_mode=form_post

JSON description OP-Response-form_post
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_redirect_uris
AsyncAuthn
set_response_where
set_redirect_uri
set_request_args
Assertions verify-authn-response
Group Response Mode
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html#FormPostResponseMode

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.59. OP-Response-form_post-Error

This tests that error responses are also returned by response_mode=form_post

JSON description OP-Response-form_post-Error
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_redirect_uris
AsyncAuthn
set_expect_error
set_response_where
set_redirect_uri
set_request_args
Assertions verify-error-response
Group Response Mode
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html#FormPostResponseMode
Note This tests that error responses are also returned by response_mode=form_post by testing for a failed silent login with prompt=none. Please remove any cookies you may have received from the OpenID Provider before proceeding.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.60. OP-Response-id_token

Request with response_type=id_token

JSON description OP-Response-id_token
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Response Type
Return Types IDToken
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ImplicitFlowAuth

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.61. OP-Response-id_token+token

Request with response_type=id_token token

JSON description OP-Response-id_token+token
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
Assertions verify-authn-response
Group Response Type
Return Types IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ImplicitFlowAuth

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.62. OP-Response-Missing

Authorization request missing the response_type parameter

JSON description OP-Response-Missing
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_expect_error
set_response_where
set_request_args
Assertions verify-error-response
Group Response Type
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://tools.ietf.org/html/rfc6749#section-3.1.1
Note There are two acceptable outcomes: (1) returning an error response to the RP or (2) returning an error message to the End-User. In case (2), you must submit a screen shot of the error shown as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.63. OP-Rotation-OP-Enc

Can rotate OP encryption keys

JSON description OP-Rotation-OP-Enc
In-flow checks
Webfinger
set_webfinger_resource
set_webfinger_resource
Discovery
set_discovery_issuer
set_discovery_issuer
Assertions check-http-response
new-encryption-keys
Group Key Rotation
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#RotateEncKeys
Note Please make your OP rotate its encryption keys now.If you are not able to cause the server to rotate the keys while running the test, then you will have to self-assert that your deployment can do OP encryption key rotation as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.64. OP-Rotation-OP-Sig

Can rotate OP signing keys

JSON description OP-Rotation-OP-Sig
In-flow checks
Webfinger
set_webfinger_resource
set_webfinger_resource
Discovery
set_discovery_issuer
set_discovery_issuer
Assertions check-http-response
new-signing-keys
Group Key Rotation
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys
Note Please make your OP rotate its signing keys now. If you are not able to cause the server to rotate the keys while running the test, then you will have to self-assert that your deployment can do OP signing key rotation as part of your certification application.

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.65. OP-Rotation-RP-Sig

Request access token, change RSA signing key and request another access token

JSON description OP-Rotation-RP-Sig
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
check_support
AsyncAuthn
set_response_where
set_request_args
AccessToken
set_op_args
RefreshAccessToken
set_op_args
set_state
Assertions check-http-response
Group Key Rotation
Return Types Code
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.66. OP-scope-address

Scope requesting address claims

JSON description OP-scope-address
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
check_support
set_request_args
AccessToken
conditional_execution
UserInfo
conditional_execution
set_op_args
Assertions verify-scopes
check-http-response
verify-response
Group scope Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.67. OP-scope-All

Scope requesting all claims

JSON description OP-scope-All
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
check_support
set_request_args
AccessToken
conditional_execution
UserInfo
conditional_execution
set_op_args
Assertions verify-scopes
check-http-response
verify-response
Group scope Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.68. OP-scope-email

Scope requesting email claims

JSON description OP-scope-email
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
check_support
set_request_args
AccessToken
conditional_execution
UserInfo
conditional_execution
set_op_args
Assertions verify-scopes
check-http-response
verify-response
Group scope Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.69. OP-scope-phone

Scope requesting phone claims

JSON description OP-scope-phone
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
check_support
set_request_args
AccessToken
conditional_execution
UserInfo
conditional_execution
set_op_args
Assertions verify-scopes
check-http-response
verify-response
Group scope Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.70. OP-scope-profile

Scope requesting profile claims

JSON description OP-scope-profile
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
check_support
set_request_args
AccessToken
conditional_execution
UserInfo
conditional_execution
set_op_args
Assertions verify-scopes
check-http-response
verify-response
Group scope Request Parameter
Return Types Code
IDToken
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#ScopeClaims

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.71. OP-UserInfo-Body

UserInfo Endpoint access with POST and bearer body

JSON description OP-UserInfo-Body
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
conditional_execution
UserInfo
set_op_args
Assertions verify-response
Group Userinfo Endpoint
Return Types Code
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#UserInfo

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.72. OP-UserInfo-Endpoint

UserInfo Endpoint access with GET and bearer header

JSON description OP-UserInfo-Endpoint
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
conditional_execution
UserInfo
set_op_args
Assertions verify-response
Group Userinfo Endpoint
Return Types Code
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#UserInfoRequest

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.73. OP-UserInfo-Header

UserInfo Endpoint access with POST and bearer header

JSON description OP-UserInfo-Header
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
AsyncAuthn
set_response_where
AccessToken
conditional_execution
UserInfo
set_op_args
Assertions verify-response
Group Userinfo Endpoint
Return Types Code
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#UserInfoRequest

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.74. OP-UserInfo-RS256

RP registers userinfo_signed_response_alg to signal that it wants signed UserInfo returned

JSON description OP-UserInfo-RS256
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
set_request_args
check_support
AsyncAuthn
set_response_where
AccessToken
conditional_execution
UserInfo
set_op_args
Assertions asym-signed-userinfo
verify-response
Group Userinfo Endpoint
Return Types Code
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#UserInfoRequest
https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

2.75. OP-UserInfo-sig-any

RP registers userinfo_signed_response_alg to signal that it wants signed UserInfo returned

JSON description OP-UserInfo-sig-any
In-flow checks
Webfinger
set_webfinger_resource
Discovery
set_discovery_issuer
Registration
register
AsyncAuthn
set_response_where
AccessToken
conditional_execution
UserInfo
set_op_args
Assertions verify-response
Group Userinfo Endpoint
Return Types Code
IDToken Token
Code IDtoken
Code Token
Code IDToken Token
Link to specification https://openid.net/specs/openid-connect-core-1_0.html#UserInfoRequest
https://openid.net/specs/openid-connect-registration-1_0.html#ClientMetadata

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3. Assertions

3.1. asym-signed-userinfo

Verifies that the UserInfo was signed with a RSA key

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.2. auth_time-check

Check that the auth_time returned in the ID Token is in the expected range.

Parameter description:
:param max_age: Maximum age of the id_token (in seconds) :type max_age: int :param skew: The allowed skew in seconds :type skew: int Example: "auth_time-check": { "max_age": 1, "skew": 600 }

Possible outcome: Warning

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.3. authn-response-or-error

Checks that the last response was a JSON encoded authentication or error message

Parameter description:
:param error: The expected error messages Example: "authn-response-or-error": { "error": [ "request_not_supported" ] }

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.4. bare-keys

Dynamic OPs MUST publish their public keys as bare JWK keys

Possible outcome: Undefined

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.5. check-http-error-response

Checks that an error code is either 400 or 401 which are the only ones accepted by OAuth2/OIDC.

Possible outcome: Warning

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.6. check-http-response

Checks that the HTTP response status is within the 200 or 300 range. Also does some extra JSON checks

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.7. check-idtoken-nonce

Verify that the nonce in the IDToken is the same that's included in the Authorization Request.

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.8. check-query-part

Check that a query part send in the Authorization Request is returned in the Authorization response.

Parameter description:
:param kwargs: key-value pairs that should be present in the query part :type kwargs: dictionary Example: "check-query-part": { "foo": "bar" }

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.9. claims-check

Checks if specific claims is present or not

Parameter description:
:param id_token: Claims that should be present in the id_token :type id_token: list of strings :param required: If the claims are required :type required: boolean Example: "claims-check": { "required": true, "id_token": ["auth_time"] }

Possible outcome: Undefined

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.10. is-idtoken-signed

Checks if the id_token is signed

Parameter description:
:param alg: Which algorithm that should have been used Example: "is-idtoken-signed": { "alg": "RS256" }

Possible outcome: Undefined

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.11. multiple-sign-on

Verifies that multiple authentications was used in the flow

Parameter description:
:param status: Status code returned on error :type status: integer (2=Warning, 3=Error) Example: "multiple-sign-on": { "status": 2 }

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.12. new-encryption-keys

Verifies that two set of encryption keys are not the same

Possible outcome: Warning

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.13. new-signing-keys

Verifies that two set of signing keys are not the same

Possible outcome: Warning

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.14. providerinfo-has-claims_supported

Check that the claims_supported discovery metadata value is in the provider_info

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.15. providerinfo-has-jwks_uri

Check that the jwks_uri discovery metadata value is in the provider_info

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.16. same-authn

Verifies that the same authentication was used twice in the flow.

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.17. unsigned-idtoken

Verifies that an IDToken is in fact unsigned, that is signed with the 'none' algorithm.

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.18. used-acr-value

The acr value in the ID Token

Possible outcome: Undefined

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.19. verify-authn-response

Checks that the last response was a JSON encoded authentication message

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.20. verify-base64url

Verifies that the base64 encoded parts of a JWK is in fact base64url encoded and not just base64 encoded

Parameter description:
:param err_status: Which error status should be reported :type err_status: integer (2=Warning, 3=Error) Example: "verify-base64url": { "err_status": 3 }

Possible outcome: Undefined

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.21. verify-claims

Verifies that the claims returned as UserInfo or in the ID Token is consistent with what was asked for

Parameter description:
:param userinfo: Whether the method should look for the claims in the user info :param id_token: Whether the method should look for the claims in the id_token Example: "verify-claims": { "id_token": null }

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.22. verify-error-response

Checks that the last response was a JSON encoded error message

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.23. verify-https-usage

Verify that specific endpoints uses https

Parameter description:
:param endpoints: Which OP endpoints that should be checked :type endpoints: list of strings Example: "verify-https-usage": {"endpoints": ["initiate_login_uri"]}

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.24. verify-id_token_signing-algorithm-is-supported

Verify that required algorithms in id_token_signing_alg_values_supported

Parameter description:
:param algs: What algorithms :type algs: list of strings Example: "verify-id_token_signing-algorithm-is-supported": { "algs": ["RS256"]}

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.25. verify-idtoken-is-signed

Verifies that an ID Token is signed

Parameter description:
:param alg: Which signing algorithm that was expected :type alg: string Example: "verify-idtoken-is-signed": { "alg": "HS256" }

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.26. verify-nonce

Verifies that the nonce received in the IDToken is the same as was given in the Authorization Request

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.27. verify-op-endpoints-use-https

Verify that all OP endpoints uses https

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.28. verify-op-has-registration-endpoint

Verify that the OP has a registration endpoint

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.29. verify-response

Checks that the last response was one of a possible set of OpenID Connect Responses

Parameter description:
:param response_cls: Which responses the test tool has received :type response_cls: list of strings Example: "verify-response": { "response_cls": [ "AuthorizationResponse", "AccessTokenResponse" ] }

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.30. verify-scopes

Verifies that the claims corresponding to the requested scopes are returned

Possible outcome: Warning

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

3.31. verify-signed-idtoken-has-kid

Verifies that the header of a signed IDToken includes a kid claim.

Possible outcome: Error

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4. In-flow functions

4.1. acr_value

Context
AsyncAuthn
Action
Sets the request attribute 'acr_values' to something configured, something gotten from the OP or to a default.
Example
        "acr_value": null

Test usage:
OP_Req_acr_values:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.2. check_config

Context
VerifyConfiguration
Action
Verifies that certain parameters appear in the configuration.
Args
Dictionary with parameters and values that MUST be in the tool configuration
Example
        "check_config": {
          "login_hint": null
        }

Test usage:
OP_Req_login_hint:VerifyConfiguration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.3. check_support

Context
AsyncAuthn
Action
Verify that the needed support is supported by the OP
Args
A dictionary of dictionaries. {level: {item: value}}
Example
        "check_support": {
          WARNING: {"scopes_supported": ["phone"]}
        }
        "check_support": {
          ERROR: {"id_token_signing_alg_values_supported": null}
        }

Test usage:
OP_ClientAuth_Basic_Dynamic:Registration
OP_ClientAuth_Basic_Dynamic:AccessToken
OP_ClientAuth_Basic_Static:AccessToken
OP_ClientAuth_SecretPost_Dynamic:Registration
OP_ClientAuth_SecretPost_Dynamic:AccessToken
OP_ClientAuth_SecretPost_Static:AccessToken
OP_display_page:AsyncAuthn
OP_display_popup:AsyncAuthn
OP_IDToken_none:Registration
OP_Registration_jwks:AccessToken
OP_Registration_jwks_uri:AccessToken
OP_Registration_Sector_Bad:Registration
OP_request_Unsigned:Registration
OP_request_uri_Sig:Registration
OP_request_uri_Unsigned:Registration
OP_Rotation_RP_Sig:Registration
OP_scope_address:AsyncAuthn
OP_scope_All:AsyncAuthn
OP_scope_email:AsyncAuthn
OP_scope_phone:AsyncAuthn
OP_scope_profile:AsyncAuthn
OP_UserInfo_RS256:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.4. claims_locales

Context
AsyncAuthn
Action
Set the request argument 'claims_locales' to something configured or use the default.
Example
        "claims_locales": null

Test usage:
OP_Req_claims_locales:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.5. conditional_execution

Context
AccessToken/UserInfo
Action
If the condition is not fulfilled the operation will not be executed.
Args
Dictionary with claim as key and allowed values as values
Example
        "conditional_execution":{
          "return_type": ["CIT","CI","C","CT"]
        }

Test usage:
OP_claims_essential:AccessToken
OP_claims_essential:UserInfo
OP_IDToken_C_Signature:AccessToken
OP_IDToken_kid:AccessToken
OP_IDToken_RS256:AccessToken
OP_nonce_noncode:AccessToken
OP_prompt_login:AccessToken
OP_prompt_login:AccessToken
OP_prompt_none_LoggedIn:AccessToken
OP_prompt_none_LoggedIn:AccessToken
OP_Req_acr_values:AccessToken
OP_Req_claims_locales:AccessToken
OP_Req_claims_locales:UserInfo
OP_Req_id_token_hint:AccessToken
OP_Req_id_token_hint:AccessToken
OP_Req_max_age=1:AccessToken
OP_Req_max_age=1:AccessToken
OP_Req_max_age=10000:AccessToken
OP_Req_max_age=10000:AccessToken
OP_scope_address:AccessToken
OP_scope_address:UserInfo
OP_scope_All:AccessToken
OP_scope_All:UserInfo
OP_scope_email:AccessToken
OP_scope_email:UserInfo
OP_scope_phone:AccessToken
OP_scope_phone:UserInfo
OP_scope_profile:AccessToken
OP_scope_profile:UserInfo
OP_UserInfo_Body:AccessToken
OP_UserInfo_Endpoint:AccessToken
OP_UserInfo_Header:AccessToken
OP_UserInfo_RS256:AccessToken
OP_UserInfo_sig_any:AccessToken

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.6. expect_exception

Context
Registration
Action
Verifies that the thrown exception is the one expected.
Args
Expected exception
Example
        "expect_exception": "RegistrationError"

Test usage:
OP_redirect_uri_RegFrag:Registration
OP_Registration_Sector_Bad:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.7. id_token_hint

Context
AsyncAuthn
Action
Will pick up an id_token received in an earlier authorization request and add it as value to the request claim "id_token_hint".
Example
        "id_token_hint": null

Test usage:
OP_Req_id_token_hint:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.8. login_hint

Context
AsyncAuthn
Action
Sets the request argument 'login_hint' to a value picked from the configuration.
Example
        "login_hint": null

Test usage:
OP_Req_login_hint:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.9. multiple_return_uris

Context
Registration
Action
Makes the request contain two redirect_uris. Default is that it only contains one.
Example
        "multiple_return_uris": null

Test usage:
OP_redirect_uri_Missing:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.10. redirect_uri_with_query_component

Context
AsyncAuthn
Action
Add a query component to the redirect_uri
Args
Dictionary with claims and values to build the query part from
Example
        "redirect_uri_with_query_component": {
          "foo": "bar"
        }

Test usage:
OP_redirect_uri_Query_Added:AsyncAuthn
OP_redirect_uri_Query_Mismatch:AsyncAuthn
OP_redirect_uri_Query_OK:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.11. redirect_uris_with_fragment

Context
Registration
Action
Add a fragment component to a redirect_uri
Args
Dictionary with attributes and values to build the query part from
Example
        "redirect_uris_with_fragment": {
          "foo": "bar"
        }

Test usage:
OP_redirect_uri_RegFrag:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.12. redirect_uris_with_query_component

Context
AsyncAuthn
Action
Add a query component to the redirect_uris
Args
Dictionary with attributes and values to build the query part from
Example
        "redirect_uris_with_query_component": {
          "foo": "bar"
        }

Test usage:
OP_redirect_uri_Query_Mismatch:Registration
OP_redirect_uri_Query_OK:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.13. register

Context
ClientRegistration
Action
Registers a set of claims
Args
List of claims to register.
Example
        "register": [ "userinfo_signed_response_alg" ]

Test usage:
OP_UserInfo_sig_any:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.14. request_in_file

Context
AsyncAuthn
Action
Sets the operation argument 'base_path' to where the request can be found. This is about the usage of the request_uri parameter.
Example
        "request_in_file": null

Test usage:
OP_request_uri_Sig:AsyncAuthn
OP_request_uri_Sig_any:AsyncAuthn
OP_request_uri_Unsigned:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.15. set_discovery_issuer

Context
AsyncAuthn
Action
Pick up issuer ID either from static configuration or dynamic discovery.
Example
        "set_discovery_issuer": null

Test usage:
OP_claims_essential:Discovery
OP_ClientAuth_Basic_Dynamic:Discovery
OP_ClientAuth_Basic_Static:Discovery
OP_ClientAuth_SecretPost_Dynamic:Discovery
OP_ClientAuth_SecretPost_Static:Discovery
OP_Discovery_claims_supported:Discovery
OP_Discovery_Config:Discovery
OP_Discovery_JWKs:Discovery
OP_Discovery_jwks_uri:Discovery
OP_display_page:Discovery
OP_display_popup:Discovery
OP_IDToken_at_hash:Discovery
OP_IDToken_C_Signature:Discovery
OP_IDToken_c_hash:Discovery
OP_IDToken_kid:Discovery
OP_IDToken_none:Discovery
OP_IDToken_RS256:Discovery
OP_nonce_code:Discovery
OP_nonce_noncode:Discovery
OP_nonce_NoReq_code:Discovery
OP_nonce_NoReq_noncode:Discovery
OP_OAuth_2nd:Discovery
OP_OAuth_2nd_30s:Discovery
OP_OAuth_2nd_Revokes:Discovery
OP_prompt_login:Discovery
OP_prompt_none_LoggedIn:Discovery
OP_prompt_none_NotLoggedIn:Discovery
OP_redirect_uri_Missing:Discovery
OP_redirect_uri_NotReg:Discovery
OP_redirect_uri_Query_Added:Discovery
OP_redirect_uri_Query_Mismatch:Discovery
OP_redirect_uri_Query_OK:Discovery
OP_redirect_uri_RegFrag:Discovery
OP_Registration_Dynamic:Discovery
OP_Registration_Endpoint:Discovery
OP_Registration_jwks:Discovery
OP_Registration_jwks_uri:Discovery
OP_Registration_logo_uri:Discovery
OP_Registration_policy_uri:Discovery
OP_Registration_Sector_Bad:Discovery
OP_Registration_tos_uri:Discovery
OP_Req_acr_values:Discovery
OP_Req_claims_locales:Discovery
OP_Req_id_token_hint:Discovery
OP_Req_login_hint:Discovery
OP_Req_max_age=1:Discovery
OP_Req_max_age=1:Discovery
OP_Req_max_age=10000:Discovery
OP_Req_NotUnderstood:Discovery
OP_Req_ui_locales:Discovery
OP_request_Unsigned:Discovery
OP_request_uri_Sig:Discovery
OP_request_uri_Sig_any:Discovery
OP_request_uri_Unsigned:Discovery
OP_Response_code:Discovery
OP_Response_code+id_token:Discovery
OP_Response_code+id_token+token:Discovery
OP_Response_code+token:Discovery
OP_Response_form_post:Discovery
OP_Response_form_post_Error:Discovery
OP_Response_id_token:Discovery
OP_Response_id_token+token:Discovery
OP_Response_Missing:Discovery
OP_Rotation_OP_Enc:Discovery
OP_Rotation_OP_Enc:Discovery
OP_Rotation_OP_Sig:Discovery
OP_Rotation_OP_Sig:Discovery
OP_Rotation_RP_Sig:Discovery
OP_scope_address:Discovery
OP_scope_All:Discovery
OP_scope_email:Discovery
OP_scope_phone:Discovery
OP_scope_profile:Discovery
OP_UserInfo_Body:Discovery
OP_UserInfo_Endpoint:Discovery
OP_UserInfo_Header:Discovery
OP_UserInfo_RS256:Discovery
OP_UserInfo_sig_any:Discovery

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.16. set_essential_arg_claim

Context
AsyncAuthn
Action
Specify an essential claim. Whether it should be placed in the id_token or returned together with the user info depends on the profile used.
Args
A claim name
Example
        "set_essential_arg_claim": "name"

Test usage:
OP_claims_essential:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.17. set_expect_error

Context
Any
Action
Sets a number of expected errors and whether the processing should stop or continue.
Args
error: List of expected error codes stop: Whether the processing should stop on receiving an error response.
Example
        "set_expect_error": {
          "error": [
            "invalid_grant",
            "access_denied"
          ],
          "stop": false
        }

Test usage:
OP_nonce_NoReq_noncode:AsyncAuthn
OP_OAuth_2nd:AccessToken
OP_OAuth_2nd_30s:AccessToken
OP_OAuth_2nd_Revokes:AccessToken
OP_OAuth_2nd_Revokes:UserInfo
OP_prompt_none_NotLoggedIn:AsyncAuthn
OP_Response_form_post_Error:AsyncAuthn
OP_Response_Missing:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.18. set_op_args

Context
AccessToken, UserInfo
Action
Sets a set of operational arguments
Args
Operational arguments
Example
        "set_op_args": {
          "method": "GET",
          "authn_method": "bearer_header"
        }
        "set_op_args": {
          "request_object_signing_alg": "RS256",
          "request_method": "request"
        }

Test usage:
OP_claims_essential:UserInfo
OP_ClientAuth_Basic_Dynamic:AccessToken
OP_ClientAuth_Basic_Static:AccessToken
OP_ClientAuth_SecretPost_Dynamic:AccessToken
OP_ClientAuth_SecretPost_Static:AccessToken
OP_OAuth_2nd_Revokes:UserInfo
OP_Registration_jwks:AccessToken
OP_Registration_jwks_uri:AccessToken
OP_Req_claims_locales:UserInfo
OP_request_Unsigned:AsyncAuthn
OP_request_uri_Sig:AsyncAuthn
OP_request_uri_Sig_any:AsyncAuthn
OP_request_uri_Unsigned:AsyncAuthn
OP_Rotation_RP_Sig:AccessToken
OP_Rotation_RP_Sig:RefreshAccessToken
OP_scope_address:UserInfo
OP_scope_All:UserInfo
OP_scope_email:UserInfo
OP_scope_phone:UserInfo
OP_scope_profile:UserInfo
OP_UserInfo_Body:UserInfo
OP_UserInfo_Endpoint:UserInfo
OP_UserInfo_Header:UserInfo
OP_UserInfo_RS256:UserInfo
OP_UserInfo_sig_any:UserInfo

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.19. set_redirect_uri

Context
Authorization
Action
Set the path of the redirect_uri.
Example
        "set_redirect_uri": "authz_post"

Test usage:
OP_Response_form_post:AsyncAuthn
OP_Response_form_post_Error:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.20. set_redirect_uris

Context
Authorization
Action
Constructs a set of redirect_uris based on the base_url and a number of paths.
Example
        "set_redirect_uris": ["authz_post"]

Test usage:
OP_Response_form_post:Registration
OP_Response_form_post_Error:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.21. set_request_args

Context
Any
Action
Sets a set of request arguments
Args
Request arguments
Example
        "set_request_args": {
          "claims": {
            "id_token": {
              "email": {
                "essential": true
              }
            }
          }
        }
        "set_request_args": {
          "scope": [
            "openid",
            "offline_access"
          ],
          "prompt": "consent"
        }

Test usage:
OP_ClientAuth_Basic_Dynamic:Registration
OP_ClientAuth_SecretPost_Dynamic:Registration
OP_display_page:AsyncAuthn
OP_display_popup:AsyncAuthn
OP_IDToken_none:Registration
OP_IDToken_RS256:Registration
OP_nonce_code:AsyncAuthn
OP_nonce_NoReq_code:AsyncAuthn
OP_nonce_NoReq_noncode:AsyncAuthn
OP_prompt_login:AsyncAuthn
OP_prompt_none_LoggedIn:AsyncAuthn
OP_prompt_none_NotLoggedIn:AsyncAuthn
OP_redirect_uri_Missing:AsyncAuthn
OP_redirect_uri_NotReg:AsyncAuthn
OP_Registration_jwks:Registration
OP_Registration_jwks_uri:Registration
OP_Registration_Sector_Bad:Registration
OP_Req_id_token_hint:AsyncAuthn
OP_Req_max_age=1:AsyncAuthn
OP_Req_max_age=10000:AsyncAuthn
OP_Req_NotUnderstood:AsyncAuthn
OP_request_Unsigned:Registration
OP_request_uri_Sig:Registration
OP_request_uri_Unsigned:Registration
OP_Response_form_post:AsyncAuthn
OP_Response_form_post_Error:AsyncAuthn
OP_Response_Missing:AsyncAuthn
OP_Rotation_RP_Sig:Registration
OP_Rotation_RP_Sig:AsyncAuthn
OP_scope_address:AsyncAuthn
OP_scope_All:AsyncAuthn
OP_scope_email:AsyncAuthn
OP_scope_phone:AsyncAuthn
OP_scope_profile:AsyncAuthn
OP_UserInfo_RS256:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.22. set_response_where

Context
AsyncAuthn
Action
Set where the response is expected to occur dependent on which response_type it is or which it isn't.
Args
None or one of response_type or not_response_type and where
Example
        "set_response_where": null

Test usage:
OP_claims_essential:AsyncAuthn
OP_ClientAuth_Basic_Dynamic:AsyncAuthn
OP_ClientAuth_Basic_Static:AsyncAuthn
OP_ClientAuth_SecretPost_Dynamic:AsyncAuthn
OP_ClientAuth_SecretPost_Static:AsyncAuthn
OP_IDToken_at_hash:AsyncAuthn
OP_IDToken_C_Signature:AsyncAuthn
OP_IDToken_c_hash:AsyncAuthn
OP_IDToken_kid:AsyncAuthn
OP_IDToken_none:AsyncAuthn
OP_IDToken_RS256:AsyncAuthn
OP_OAuth_2nd:AsyncAuthn
OP_OAuth_2nd_30s:AsyncAuthn
OP_OAuth_2nd_Revokes:AsyncAuthn
OP_prompt_login:AsyncAuthn
OP_prompt_none_NotLoggedIn:AsyncAuthn
OP_redirect_uri_Missing:AsyncAuthn
OP_redirect_uri_NotReg:AsyncAuthn
OP_redirect_uri_Query_Added:AsyncAuthn
OP_redirect_uri_Query_Mismatch:AsyncAuthn
OP_redirect_uri_Query_OK:AsyncAuthn
OP_Registration_jwks:AsyncAuthn
OP_Registration_jwks_uri:AsyncAuthn
OP_Registration_logo_uri:AsyncAuthn
OP_Registration_policy_uri:AsyncAuthn
OP_Registration_tos_uri:AsyncAuthn
OP_Req_acr_values:AsyncAuthn
OP_Req_claims_locales:AsyncAuthn
OP_Req_id_token_hint:AsyncAuthn
OP_Req_id_token_hint:AsyncAuthn
OP_Req_login_hint:AsyncAuthn
OP_Req_max_age=1:AsyncAuthn
OP_Req_max_age=10000:AsyncAuthn
OP_Req_max_age=10000:AsyncAuthn
OP_Req_NotUnderstood:AsyncAuthn
OP_Req_ui_locales:AsyncAuthn
OP_request_Unsigned:AsyncAuthn
OP_request_uri_Sig:AsyncAuthn
OP_request_uri_Sig_any:AsyncAuthn
OP_request_uri_Unsigned:AsyncAuthn
OP_Response_code:AsyncAuthn
OP_Response_code+id_token:AsyncAuthn
OP_Response_code+id_token+token:AsyncAuthn
OP_Response_code+token:AsyncAuthn
OP_Response_form_post:AsyncAuthn
OP_Response_form_post_Error:AsyncAuthn
OP_Response_id_token:AsyncAuthn
OP_Response_id_token+token:AsyncAuthn
OP_Response_Missing:AsyncAuthn
OP_Rotation_RP_Sig:AsyncAuthn
OP_scope_address:AsyncAuthn
OP_scope_All:AsyncAuthn
OP_scope_email:AsyncAuthn
OP_scope_phone:AsyncAuthn
OP_scope_profile:AsyncAuthn
OP_UserInfo_Body:AsyncAuthn
OP_UserInfo_Endpoint:AsyncAuthn
OP_UserInfo_Header:AsyncAuthn
OP_UserInfo_RS256:AsyncAuthn
OP_UserInfo_sig_any:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.23. set_state

Context
RefreshAccessToken
Action
Sets the operation argument 'state' to what has been used previously in the session.
Example
        "set_state": null

Test usage:
OP_Rotation_RP_Sig:RefreshAccessToken

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.24. set_uri

Context
Registration
Action
Constructs a URI and assigns it to a request argument
Args
Tuple with request argument and the path to assigned to a base URL, based of the redirect_uri
Example
        "set_uri": [
          "tos_uri",
          "static/tos.html"
        ]

Test usage:
OP_Registration_logo_uri:Registration
OP_Registration_policy_uri:Registration
OP_Registration_tos_uri:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.25. set_webfinger_resource

Context
WebFinger
Action
Specifies the webfinger resource. If the OP supports webfinger queries then the resource is set to the value of 'webfinger_url' or 'webfinger_email' from the test instance configuration.
Example
        "set_webfinger_resource": null

Test usage:
OP_claims_essential:Webfinger
OP_ClientAuth_Basic_Dynamic:Webfinger
OP_ClientAuth_Basic_Static:Webfinger
OP_ClientAuth_SecretPost_Dynamic:Webfinger
OP_ClientAuth_SecretPost_Static:Webfinger
OP_Discovery_claims_supported:Webfinger
OP_Discovery_Config:Webfinger
OP_Discovery_JWKs:Webfinger
OP_Discovery_jwks_uri:Webfinger
OP_display_page:Webfinger
OP_display_popup:Webfinger
OP_IDToken_at_hash:Webfinger
OP_IDToken_C_Signature:Webfinger
OP_IDToken_c_hash:Webfinger
OP_IDToken_kid:Webfinger
OP_IDToken_none:Webfinger
OP_IDToken_RS256:Webfinger
OP_nonce_code:Webfinger
OP_nonce_noncode:Webfinger
OP_nonce_NoReq_code:Webfinger
OP_nonce_NoReq_noncode:Webfinger
OP_OAuth_2nd:Webfinger
OP_OAuth_2nd_30s:Webfinger
OP_OAuth_2nd_Revokes:Webfinger
OP_prompt_login:Webfinger
OP_prompt_none_LoggedIn:Webfinger
OP_prompt_none_NotLoggedIn:Webfinger
OP_redirect_uri_Missing:Webfinger
OP_redirect_uri_NotReg:Webfinger
OP_redirect_uri_Query_Added:Webfinger
OP_redirect_uri_Query_Mismatch:Webfinger
OP_redirect_uri_Query_OK:Webfinger
OP_redirect_uri_RegFrag:Webfinger
OP_Registration_Dynamic:Webfinger
OP_Registration_Endpoint:Webfinger
OP_Registration_jwks:Webfinger
OP_Registration_jwks_uri:Webfinger
OP_Registration_logo_uri:Webfinger
OP_Registration_policy_uri:Webfinger
OP_Registration_Sector_Bad:Webfinger
OP_Registration_tos_uri:Webfinger
OP_Req_acr_values:Webfinger
OP_Req_claims_locales:Webfinger
OP_Req_id_token_hint:Webfinger
OP_Req_login_hint:Webfinger
OP_Req_max_age=1:Webfinger
OP_Req_max_age=1:Webfinger
OP_Req_max_age=10000:Webfinger
OP_Req_NotUnderstood:Webfinger
OP_Req_ui_locales:Webfinger
OP_request_Unsigned:Webfinger
OP_request_uri_Sig:Webfinger
OP_request_uri_Sig_any:Webfinger
OP_request_uri_Unsigned:Webfinger
OP_Response_code:Webfinger
OP_Response_code+id_token:Webfinger
OP_Response_code+id_token+token:Webfinger
OP_Response_code+token:Webfinger
OP_Response_form_post:Webfinger
OP_Response_form_post_Error:Webfinger
OP_Response_id_token:Webfinger
OP_Response_id_token+token:Webfinger
OP_Response_Missing:Webfinger
OP_Rotation_OP_Enc:Webfinger
OP_Rotation_OP_Enc:Webfinger
OP_Rotation_OP_Sig:Webfinger
OP_Rotation_OP_Sig:Webfinger
OP_Rotation_RP_Sig:Webfinger
OP_scope_address:Webfinger
OP_scope_All:Webfinger
OP_scope_email:Webfinger
OP_scope_phone:Webfinger
OP_scope_profile:Webfinger
OP_UserInfo_Body:Webfinger
OP_UserInfo_Endpoint:Webfinger
OP_UserInfo_Header:Webfinger
OP_UserInfo_RS256:Webfinger
OP_UserInfo_sig_any:Webfinger

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.26. static_jwk

Context
Registration
Action
Set a static JWKS, remove jwks_uri if specified.
Example
        "static_jwk": null

Test usage:
OP_Registration_jwks:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.27. store_sector_redirect_uris

Context
Registration
Action
Will store a number of redirectURIs in a file and add a "sector_identifier_uri" pointing to that file to the request arguments.
Args
other_uris: list of complete URLs redirect_uris: Use default redirect_uris for this entity extra: Extra relative url paths
Example
        "store_sector_redirect_uris": {
          "other_uris": [
            "https://example.com/op"
          ]
        }

Test usage:
OP_Registration_Sector_Bad:Registration

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD

4.28. ui_locales

Context
AsyncAuthn
Action
Set the request argument 'ui_locales' to something configured or use the default.
Example
        "ui_locales": null

Test usage:
OP_Req_ui_locales:AsyncAuthn

Link to code

Java Implementation Status: Status TDB

Link to Java code: Link TBD