0

Nous sommes confrontés à un problème: nous souhaitons installer le même ASP.Net Core WebApp dans plusieurs emplacements et orienter les utilisateurs vers des gestionnaires de trafic, mais si nous le faisons, nous rencontrons des problèmes car l'authentification les jetons sont stockés dans un serveur et l'utilisateur peut en accéder un autre. J'ai lu que nous pouvons utiliser Azure BlobStorage pour partager les clés, quelqu'un peut-il décrire comment?Partager des clés sur plusieurs applications sur Azure

Nous utilisons openiddict pour la connexion API, mais je pense que cela n'affecte pas le problème si nous pouvons utiliser Azure BlobStorage pour le stockage de clés.

Merci

+0

Est-ce votre jeton pas attaché à chaque demande qui va à la serveur? Le serveur devrait alors essayer de valider ce jeton, s'il est valide alors il devrait lire les revendications requises pour l'utilisateur, peu importe quel serveur obtient la demande via le gestionnaire de trafic. –

+0

@Sid Le problème est que le jeton peut être atteint à partir d'un serveur différent (plusieurs webapps) – Techy

+0

Vous n'avez donc pas de serveur d'identité central, n'est-ce pas? – Brad

Répondre

1

Comme indiqué in the documentation, vous devez référencer le package Microsoft.AspNetCore.DataProtection.AzureStorage et utiliser PersistKeysToAzureBlobStorage() pour enregistrer le Azure Blob Storage référentiel clé:

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddDataProtection() 
     .PersistKeysToAzureBlobStorage(new Uri("<blob URI including SAS token>")); 
}