Domanda

Sto usando ASP.NET Identity 2 Framework (ASP.NET MVC 5) in un'applicazione multi-tenant.

Posso integrare facilmente un'applicazione Facebook.Può essere configurato che sono ambiti / credenziali ecc. In start-up.cs.

Ma ho X Domains e X Facebook Applications, e deciderò quali credenziali utilizzare durante il runtime.

Come posso modificare / impostare le impostazioni dei provider di accesso esterni dinamicamente piuttosto che sull'avvio dell'applicazione?

È stato utile?

Soluzione

Il framework Identity 2 non supporta l'impostazione o la registrazione dei fornitori di login esterni dinamici (come essere in grado di modificare le credenziali client di Facebook ad esempio). Dovrai ruolare manualmente la nostra soluzione.

Il framework si basa su OWIN e quindi un controller può passare solo i messaggi al fornitore di aumentazione mediante l'uso di un contesto condiviso. Quello fornito dal sistema Identity ASP.NET non supporta il trasmesso di questo tipo di messaggi (come le credenziali che si desidera modificare). Owin non consente di modificare le impostazioni di un oggetto middleware che è già stato vincolato.

Inoltre, l'estensione Microsoft fornisce il sistema di identità per ciascuno dei principali fornitori di login esterni (I.e. Facebook) sono strutturati utilizzando classi interne che non possiamo ereditare o modificare. Quindi questo ci lascia bloccato.

È possibile ruotare il proprio fornitore di middleware Owin per Facebook e utilizzare un contesto condiviso - che dovrebbe essere il modo moderno di fare le cose. O semplicemente utilizzare il normale sistema MVC per gestirlo. È possibile utilizzare il codice sorgente per il loro Estensione di Identity Facebook come guida.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top