This is the base technical profile that is used to connect to the Authsignal Connect (OIDC) API by setting the authorization header, request body and other necessary configuration for the Azure AD B2C’s RestfulProvider. It is referenced by other technical profiles.
<TechnicalProfileId="AuthsignalConnectApiBase"><DisplayName>Authsignal Connect API Base</DisplayName><ProtocolName="Proprietary"Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/><Metadata><ItemKey="SendClaimsIn">Body</Item><ItemKey="AuthenticationType">Basic</Item><ItemKey="AllowInsecureAuthInProduction">false</Item><ItemKey="ResolveJsonPathsInJsonTokens">true</Item><ItemKey="ClaimUsedForRequestPayload">requestBody</Item><ItemKey="DefaultUserMessageIfRequestFailed">Cannot process your request right now, please try again later.</Item></Metadata><CryptographicKeys><KeyId="BasicAuthenticationUsername"StorageReferenceId="B2C_1A_AuthsignalSecret"/><KeyId="BasicAuthenticationPassword"StorageReferenceId="B2C_1A_AuthsignalSecret"/></CryptographicKeys><InputClaims><InputClaimClaimTypeReferenceId="requestBody"/></InputClaims></TechnicalProfile>
The POST /init-auth endpoint must be called before federating the flows to Authsignal via the OIDC Authorize technical profile.
Through the input claims, we pass in the user identifier, the Authsignal action being performed, and any other customizations such as redirectToSettings.
Note that the Authsignal OIDC endpoints should only be called when you have
identified the user, but before the user is authenticated and is issued a
token. These snippets are dependent on objectId which is an output claim of
the default Azure AD B2C self-asserted technical profiles.
The GET /oidc/auth endpoint is used to begin the authentication flow with Authsignal. The token returned by the previous init-auth endpoint will be used in this endpoint.
Due to Azure AD B2C technical profiles being restricted to setting input claims in either the url or body and not both, we’ve created convenience proxy endpoints to map to our key APIs.