Ceci est une question générale car je suis habitué à l'objet utilisateur stocké dans la session et j'apprends le nouveau cadre d'identité.Sécurité: ASp.NET Identity HTTPOnly Cookie avec SSL
Je vois beaucoup parler de l'envoi de "revendications" en dehors du cookie. De cette façon, vous n'avez pas besoin de re-rechercher les informations de l'utilisateur. Cela signifie que le nom, l'adresse e-mail ou même les autorisations sont en dehors de la zone de réclamation du cookie enregistré. Tout ce que j'ai étudié à ce sujet, httpOnly sur SSL est très sûr en termes d'être piraté. J'hésite à envoyer autre chose qu'un ID utilisateur pour identifier l'utilisateur, puis rechercher le reste dans la base de données pour m'assurer qu'au moins si l'utilisateur est piraté, les autorisations ne sont pas piratées. Suis-je trop prudent?
Je vois aussi les gens mettre les cookies à expiration dans 7 jours ou 1 jour ect ... En ce qui concerne cela et vous envoyez les permissions/rôles dans la zone de réclamations. Que se passe-t-il s'ils changent sur le serveur. Fondamentalement, il semble que l'utilisateur devrait se connecter et se déconnecter pour que les nouvelles autorisations puissent avoir lieu. Se demandait est-ce que l'attente de norme avec les normes de l'interface utilisateur du logiciel?
Merci d'avance pour vos pensées :)
Angela
@zaitman, merci d'avoir pris le temps :) J'ai recherché des jetons et l'en-tête d'autorisation et j'ai trouvé la même chose. En recommandant d'ajouter les permissions de l'utilisateur dans la «charge utile» afin que l'utilisateur n'ait pas à recharger chaque demande. En ce qui concerne les cookies par rapport à l'en-tête d'autorisation. D'après ce que je comprends, l'en-tête Authorization peut être piraté avec XSS parce qu'il peut être lu via le côté client, c'est pourquoi ils le chiffrent et fournissent une signature pour vérifier qu'il est réel.Vous pouvez faire _request.getResponseHeader (nom). Le cookie ne peut pas être lu en utilisant HTTPOnly et SSL. –
@Angela Bien qu'il soit certainement une ligne directrice pour interdire ces cookies pour être lu pour le client, le détail de la mise en œuvre spécifique est laissée à la discrétion des auteurs des clients. Par exemple. Dans iOS WebView, vous pouvez facilement accéder à ces cookies à partir du code natif. Tokens sont également utiles car ils peuvent être utilisés universellement pour les cas où est nécessaire interaction liée non du navigateur, par exemple pour le flux de code ou le flux de jetons d'actualisation. Ils ne sont en aucun cas «meilleurs» et ne sont pas vraiment plus sûrs, ils fournissent simplement des mécanismes supplémentaires et le principal avantage est de permettre à l'utilisateur de se connecter avec des comptes externes. – zaitsman
Est-ce que la norme/norme est de transmettre les autorisations en tokens ou en cookies? Sur le net, les gens préconisent avec Tokens de transmettre les données de l'utilisateur afin que vous n'ayez plus à toucher la base de données lors d'appels ultérieurs. Je vois la même chose avec les cookies. Peut-être que je suis un vieux temporisateur mais je penserais que s'il a été piraté je ne voudrais certainement pas ouvrir les permissions pour être mucked avec. Peut-être qu'ils obtiennent l'utilisateur, mais au moins, ils ne pouvaient pas muck avec les autorisations. Ainsi, chaque appel de DB est de nouveau forcé de récupérer l'autorisation avant d'effectuer une action pour cette personne. –