web-dev-qa-db-fra.com

Portail Azure: mauvaise demande - demande trop longue

Je viens de recevoir l’erreur suivante lorsque j’ai essayé d’exécuter une stratégie d’édition intégrée dans b2c à partir de portal.Azure.com . J'ai 2 onglets du portail ouverts. Pourquoi est-ce que je reçois cette erreur?

Mauvaise demande - demande trop longue Erreur HTTP 400. La taille des en-têtes de demande est trop longue.

Remarque: j'ai rencontré le même message d'erreur lors du test du projet exemple active-directory-b2c-dotnet-webapp-webapi . La raison fournie était que j'envoyais trop de cookies. Est-ce le même problème?

S'il s'agit du même problème, les cookies obsolètes ne devraient-ils pas être supprimés avant d'en créer de nouveaux?


Je vois beaucoup de cookies pour https://login.microsoftonline.com

chrome cookies node

screen shot 1 of cookies screen shot 2 of cookies

12
spottedmahn

L'erreur HTTP 400: la taille de la requête d'en-tête est trop longue} se produit généralement car il y a trop de cookies ou de cookies trop gros.

La connexion Azure AD B2C passe par login.microsoftonline.com, à l'instar de presque tous les services Microsoft (O365, Azure, etc.). Donc, si vous avez plusieurs comptes auxquels vous êtes connecté via ces services, vous accumulez des cookies qui vont causer ce problème.

Les développeurs se connectent souvent au portail Azure avec leur compte d'entreprise, peut-être également avec un compte administrateur B2C, puis testent leur application alimentée par B2C avec plusieurs connexions.

À long terme, la solution consistera à autoriser les clients Azure AD B2C à spécifier leur propre domaine personnalisé. Cela donne aux cookies B2C de l'application une isolation par rapport à tout le reste dans login.microsoftonline.com. À partir du 16/09/2017, cette fonctionnalité est encore en développement. Vous pouvez prendre en charge cette fonctionnalité et suivre son évolution en la votant sur le forum de commentaires Azure AD B2C: Domaines appartenant au client

Cependant, en attendant, vous pouvez explorer deux choses:

  1. Effacez vos cookies. Cela fonctionnera certainement à chaque fois, c'est simplement encombrant, surtout s'il est présenté à vos utilisateurs finaux.

  2. Limitez le nombre de réclamations que vous incluez dans votre jeton. Plus le nombre d'attributs que vous incluez dans votre stratégie , vous vous retrouvez avec des requêtes http plus longues qui vous donnent moins de marge pour les cookies d'autres propriétés de Microsoft

Remarque: Il s'agit de la même question que: http 400: la taille de la demande d'en-tête est trop longue lors de la connexion d'un utilisateur utilisant l'authentification multifactorielle

22
Saca

Je pense que le problème vient de l'implémentation OWIN par défaut utilisée dans les exemples d'applications MVC. La seule chose à faire est de fermer le navigateur (et toutes les autres instances), puis de redémarrer.

Vous pouvez regarder le cookie devenir de plus en plus grand, puis le navigateur finit par abandonner.

Je n'ai pas essayé l'approche ci-dessus concernant le plugin, mais je vais l'essayer car c'est un peu plus fluide que de tuer toutes les fenêtres de votre navigateur. 

0
user1197563

Vous pouvez également vouloir vérifier que b2clogin.com décrit ici . Selon Microsoft: 

  • Les cookies ne sont plus partagés avec les autres services Microsoft.
0
Joro G.

Le problème est dû au basculement entre plusieurs locataires et ceux qui créent des cookies. Nous sommes souvent confrontés à ce problème. La seule solution à ce que je sache est la suppression des cookies. 

Si vous aimez le chrome, il existe une extension de cookie, utilisez-la et essayez de supprimer les cookies de login.microsoftonline.com & portal.Azure.com

0
Ramakrishna