2017-10-16 6 views
0

Si le délai d'expiration de la session ASP.NET est de 20 minutes (glissement), quel est l'impact de la durée de vie du jeton d'ID et de la session Web?Délai de session Asp.net vs expiration du jeton d'identifiant

La durée de vie du jeton ID semble absolue (60 min par défaut). Que se passe-t-il quand il expire, une nouvelle authentification est-elle déclenchée à la prochaine requête ou cela se produit-il uniquement lorsque le jeton d'identification et la session ASP.NET ont expiré?

La durée de vie de session de l'application Web peut être à la fois absolue ou progressive (1440 min par défaut). Est-ce que ça roule en ce qui concerne le B2C ou l'application ASP.NET? Quelle est la relation entre la durée de vie du jeton d'ID et la durée de vie de la session de l'application Web? Ma compréhension est quand le jeton d'identification a expiré, si la session d'application Web n'est pas expirée, l'utilisateur n'a pas à entrer à nouveau ses informations d'identification, je suis correct?

Répondre

0

Je commencerai par expliquer quelques différences de scénario clés entre plusieurs des concepts que vous avez mentionnés ci-dessous.

jetons d'identité: Comme vous l'avez mentionné, jetons d'identité des durées de vie sont « absolue » - alors que vous pouvez configurer la durée de vie des jetons d'identité nouvellement créés dans le portail d'administration, une fois un jeton d'identification est créé, il n'y a aucun moyen pour prolonger la durée de vie d'un jeton existant. Si vous envoyez le jeton d'identification à un point de terminaison sur votre service et que le service détermine que le jeton a expiré, le client doit acquérir un nouveau jeton d'identification à partir de B2C.

B2C vie de la session de l'application Web: Basé sur la façon dont cela est configuré pour votre politique, la durée de vie de la session de l'application Web B2C détermine si peut être traitée une nouvelle autorisation envoyée au point final/autoriser sans que l'utilisateur d'interagir avec l'interface utilisateur. Notez, cependant, qu'une redirection se produit toujours. Le résultat est généralement une redirection par l'application Web du client vers le point de terminaison B2C/authorize, suivie d'une redirection immédiate vers l'application Web du client avec un jeton d'identification nouvellement créé (qui aurait une durée de vie de jeton nouveau/complet) . Visuellement, cela peut ressembler à un "scintillement d'écran" car le navigateur est rapidement redirigé vers l'extérieur, et vice-versa. Lorsque cela se produit, si le type "rolling" a été sélectionné pour la durée de vie de la session, cette session d'application Web non interactive peut être utilisée pour une nouvelle fenêtre (par défaut, 1440 minutes), tandis que si vous choisissez "absolute", la limite de temps sera toujours basée sur la dernière fois qu'une session Web entièrement interactive a été effectuée. Comme je l'ai mentionné, je ne suis pas moi-même très familier avec le fonctionnement des sessions ASP.NET ici, mais l'application web "rolling" dont parle le portail d'administration est pour B2C, pas ASP.NET (nous n'avons pas de spécial interaction avec ASP.NET). Ma conjecture est que la couche ASP.NET est une couche supplémentaire au-dessus de ce que j'ai décrit ici. Vraisemblablement, la session ASP.NET contrôle la fréquence à laquelle les jetons d'identification sont demandés et vérifiés par le service, mais vous souhaiterez peut-être effectuer un suivi auprès de l'équipe ASP.NET en particulier.

Un autre scénario non mentionné ci-dessous concernant la réitération silencieuse est "rafraîchir les jetons". L'actualisation de jeton de rafraîchissement est vraiment silencieuse (c'est-à-dire, aucun scintillement d'écran), et peut être une solution préférée basée sur votre installation. Si vous utilisez une application d'une seule page ("SPA"), d'autres options sont également disponibles.

Vous pouvez trouver plus d'informations ici: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-apps