Tailspin-scenariot
Tailspin är ett fiktivt företag som utvecklar ett SaaS-program med namnet Surveys. Med det här programmet kan organisationer skapa och publicera onlineundersökningar.
- En organisation kan registrera sig för programmet.
- När organisationen har registrerats kan användarna logga in i programmet med sina autentiseringsuppgifter för organisationen.
- Användare kan skapa, redigera och publicera undersökningar.
Anteckning
Om du vill komma igång med programmet kan du läsa readme-filen för GitHub.
Användare kan skapa, redigera och visa undersökningar
En autentiserad användare kan visa alla undersökningar som han eller hon har skapat eller har deltagarrättigheter till och skapa nya undersökningar. Observera att användaren är inloggad med sin organisationsidentitet, bob@contoso.com .

Den här skärmbilden visar sidan Redigera undersökning:

Användare kan också visa undersökningar som skapats av andra användare inom samma klientorganisation.

Undersökningsägare kan bjuda in deltagare
När en användare skapar en undersökning kan han eller hon bjuda in andra personer som deltagare i undersökningen. Deltagare kan redigera undersökningen, men de kan inte ta bort eller publicera den.

En användare kan lägga till deltagare från andra klienter, vilket möjliggör delning av resurser mellan klienter. I den här skärmbilden lägger Bob ( bob@contoso.com ) till Alice ( ) som deltagare i en undersökning som Bob alice@fabrikam.com skapade.
När Alice loggar in ser hon undersökningen listad under "Undersökningar som jag kan bidra till".

Observera att Alice loggar in på sin egen klientorganisation, inte som gäst i Contosos klientorganisation. Alice har endast deltagarbehörighet för den undersökningen – hon kan inte visa andra undersökningar från Contosos klientorganisation.
Arkitektur
Programmet Surveys består av en webbwebbdel och en webb-API-backend. Båda implementeras med hjälp av ASP.NET Core.
Webbprogrammet använder Azure Active Directory (Azure AD) för att autentisera användare. Webbprogrammet anropar även Azure AD för att hämta OAuth 2-åtkomsttoken för webb-API:et. Åtkomsttoken cachelagras i Azure Cache for Redis. Cachen gör att flera instanser kan dela samma tokencache (till exempel i en servergrupp).
Diagrammet visar komponenter i rutor och interagerar med andra komponenter via dubbelriktade pilar. Webbprogrammet Surveys autentiserar med Azure AD för att hämta åtkomsttoken för webb-API:et och cachelagrar token i cacheminnet för Azure Cache for Redis åtkomsttoken.
Exempelkod