8
votes

Activer Javascript sur la politique personnalisée B2C

Javascript est désactivé du côté client, même si j'ai ajouté ci-dessous selon la documentation.

<ContentDefinition Id="api.localaccountpasswordreset">  
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
 <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.1.0</DataUri>
  ...
 </ContentDefinition>

Lorsque j'essaye de télécharger la politique personnalisée, j'obtiens une erreur - "Veuillez utiliser le contrat de page dans les définitions de contenu lors de l'activation de JavaScript." Impossible de trouver quoi que ce soit concernant cette erreur dans la documentation.

J'ai essayé d'ajouter des métadonnées aux définitions de contenu, à l'aide de datauri -

<RelyingParty>
  <DefaultUserJourney ReferenceId="B2CSignUpOrSignInWithPassword" />
  <UserJourneyBehaviors>
   <ScriptExecution>Allow</ScriptExecution>
  </UserJourneyBehaviors>
  ...
</RelyingParty>

Attendez-vous à ce que JavaScript fonctionne sur les pages de connexion côté client


0 commentaires

3 Réponses :


2
votes

Cet article explique de bout en bout comment activer javascript. https://docs.microsoft.com/en-us/azure/active-directory-b2c/javascript-samples


8 commentaires

Cela ne fonctionne toujours pas. J'ai fait des mises à jour comme suggéré, mais javascript est toujours désactivé


Comment déterminez-vous cela? Avez-vous inspecté la page dans le navigateur? Pouvez-vous partager le lien «Exécuter maintenant» vers le flux d'utilisateurs?


D'après ce que je peux voir, vous avez une seule balise de script dans lesandbox01.b2clogin.com/static/tenant/default/… . Et quand je vais sur votre lien, il est présent. Donc je ne vois aucun problème. Et vous avez cette erreur de script sur votre page, ce qui affecte probablement sa fonctionnalité. 0: '$' n'est pas défini


Merci d'avoir souligné le fait que nous devons modifier toutes les définitions de contenu - je ne mettais à jour que celles que ma politique exploitait et je perdais la tête quand elle refusait d'accepter ma politique mise à jour. Entrer et modifier toutes les définitions de contenu m'a permis de surmonter cette douleur.


@veejar merci d'avoir posté cette question ... J'y faisais face il y a quelques minutes. J'avais mis à jour uniquement le dataUri de la politique personnalisée que j'essayais d'activer JavaScript. Arrivé ici, puis changé tous les anciens dataUris des autres fichiers .xml de politiques. Le téléchargement a fonctionné. Jas Suri: merci d'avoir clarifié cela. Vous m'avez déjà aidé sur le chat LinkedIn concernant un autre problème lié au B2C. Continuez à nous aider. :-) Au fait: savez-vous ce qui pourrait causer ce problème? stackoverflow.com/q/58329792/114029


Merci pour cela! Il n'était pas évident que vous deviez définir «toutes» les valeurs de Datauri. Une chose qui m'a attiré est qu'il y a un changement de nom subtil dans le nouvel URI du contrat pour que idpselection se contracte: providerelection dans le tableau de cette page. C'est dans l'exemple, cependant, l'exemple ne montre pas la définition originale de datauri donc peut être manquée si vous lisez rapidement.


Le deuxième lien mène à une page qui ne semble pas avoir de contenu connexe. Veuillez clarifier l'étape «Et puis ajoutez les contrats de page à TOUTES les définitions de contenu dans vos fichiers où un dataUri est mentionné.


J'ai mis à jour les liens vers un seul lien qui explique de bout en bout.



3
votes

Si vous rencontrez toujours des erreurs, remplacez la balise DataUri de

<DataUri>urn:com:microsoft:aad:b2c:elements:idpselection:1.2.0</DataUri> to <DataUri>urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.0</DataUri>

pour ContentDefinition api.idpselections et api.idpselections.signup .


0 commentaires

0
votes

Si quelqu'un est toujours confronté à une erreur, vous devez remplacer tous les URI de données dans vos définitions de contenu par ceux définis dans l'url ci-dessous:

https://docs.microsoft.com/en-us/azure/active-directory-b2c/contentdefinitions#migrating-to-page-layout

Utilisez le nouvel URI de données au lieu de l' ancien partout dans votre stratégie et cela résoudra le problème. Le mien a été réparé en utilisant la même approche. Non seulement cela, mais la documentation Microsoft indique clairement que « Si vous avez l'intention d'utiliser JavaScript, vous devez définir une version de mise en page avec une version de contrat de page pour toutes les définitions de contenu de votre stratégie personnalisée ».

Reportez-vous à l'url: https://docs.microsoft.com/en-us/azure/active-directory-b2c/javascript-samples


0 commentaires