Ok est un peu un travail autour mais j'ai essayé avec un profil technique standard UserJourneyContextProvider et ce travail na pas
afin d'obtenir l'identifiant client en tant que prétendez que je ne le
suivant Créer une étape d'orchestration
<OrchestrationStep Order="2" Type="ClaimsExchange">
<ClaimsExchanges>
<ClaimsExchange
Id="ClientIdFromOIDC-JC"
TechnicalProfileReferenceId="Get-ClientID-FromOIDC"/>
</ClaimsExchanges>
</OrchestrationStep>
Ensuite, créez un profil technique RESTFUL qui fera appel à une fonction App passer le OIDC avec {OIDC: ClientID}
<TechnicalProfile Id="Get-ClientID-FromOIDC">
<DisplayName>Get-ClientID-FromOIDC</DisplayName>
<Protocol Name="Proprietary"
Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<Metadata>
<Item Key="AuthenticationType">None</Item>
<Item Key="ServiceUrl">--FUNCTION APP URL--</Item>
<Item Key="SendClaimsIn">QueryString</Item>
</Metadata>
<InputClaims>
<InputClaim
ClaimTypeReferenceId="client_id"
PartnerClaimType="client_id"
DefaultValue="{OIDC:ClientId}" />
</InputClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="client_id" />
</OutputClaims>
</TechnicalProfile>
Puis enfin créer une application de fonction qui accepte l'identifiant client de la chaîne de requête et le renvoie avec le format correct pour B2C pour identifier
en utilisant System.Net; en utilisant System.Net.Http.Formatting;
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req,
TraceWriter log)
{
log.Info("C# HTTP trigger function processed a request.");
// parse query parameter
string client_id = req.GetQueryNameValuePairs()
.FirstOrDefault(q => string.Compare(q.Key, "client_id", true) == 0)
.Value;
return req.CreateResponse<ResponseContent>(
HttpStatusCode.OK, new ResponseContent
{
version = "1.0.0",
status = (int) HttpStatusCode.OK,
client_id = client_id
},
new JsonMediaTypeFormatter(), "application/json");
}
class ResponseContent {
public string version;
public int status;
public string client_id;
}
Vous allez maintenant obtenir l'application B2C client_id comme une réclamation dans le sac de réclamation de sorte que vous pouvez faire ce que vous voulez avec maintenant
hey regarde comme vous pouvez utiliser {OIDC: ClientId} pour saisir la demande dans une revendication d'entrée, besoin d'enquêter plus si je peux persister cette revendication Tout le monde connaît d'autres {variables qui existent} ou où je peux trouver une liste complète – user1197563