Säkerhetsram: Sessionshantering

Produkt/tjänst Artikel
Azure AD
IoT-enhet
Azure Document DB
ADFS
Identitetsserver
Webbprogram
Webb-API

Implementera korrekt utloggning med ADAL-metoder när du använder Azure AD

Rubrik Information
Komponent Azure AD
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Om programmet förlitar sig på en åtkomsttoken som utfärdats av Azure AD ska händelsehanteraren för utloggning anropa

Exempel

HttpContext.GetOwinContext().Authentication.SignOut(OpenIdConnectAuthenticationDefaults.AuthenticationType, CookieAuthenticationDefaults.AuthenticationType)

Exempel

Den bör också förstöra användarens session genom att anropa metoden Session.Abandon(). Följande metod visar säker implementering av användarutloggning:

    [HttpPost]
        [ValidateAntiForgeryToken]
        public void LogOff()
        {
            string userObjectID = ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/objectidentifier").Value;
            AuthenticationContext authContext = new AuthenticationContext(Authority + TenantId, new NaiveSessionCache(userObjectID));
            authContext.TokenCache.Clear();
            Session.Clear();
            Session.Abandon();
            Response.SetCookie(new HttpCookie("ASP.NET_SessionId", string.Empty));
            HttpContext.GetOwinContext().Authentication.SignOut(
                OpenIdConnectAuthenticationDefaults.AuthenticationType,
                CookieAuthenticationDefaults.AuthenticationType);
        } 

Använda begränsad livslängd för genererade SaS-token

Rubrik Information
Komponent IoT-enhet
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg SaS-token som genereras för autentisering Azure IoT Hub bör ha en begränsad förfalloperiod. Behåll SaS-tokenlivslängden till ett minimum för att begränsa hur lång tid de kan spelas upp igen om token skulle komprometteras.

Använda minsta livslängd för token för genererade resurstoken

Rubrik Information
Komponent Azure Document DB
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Minska tidsspann för resurstoken till ett minsta värde som krävs. Resurstoken har ett giltigt standardtidsspann på 1 timme.

Implementera korrekt utloggning med hjälp av WsFederation-metoder när du använder ADFS

Rubrik Information
Komponent ADFS
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Om programmet förlitar sig på STS-token som utfärdats av ADFS ska händelsehanteraren för utloggning anropa WSFederationAuthenticationModule.FederatedSignOut()-metoden för att logga ut användaren. Den aktuella sessionen bör också förstöras och värdet för sessionstoken ska återställas och ha värdet null.

Exempel

        [HttpPost, ValidateAntiForgeryToken]
        [Authorization]
        public ActionResult SignOut(string redirectUrl)
        {
            if (!this.User.Identity.IsAuthenticated)
            {
                return this.View("LogOff", null);
            }

            // Removes the user profile.
            this.Session.Clear();
            this.Session.Abandon();
            HttpContext.Current.Response.Cookies.Add(new System.Web.HttpCookie("ASP.NET_SessionId", string.Empty)
                {
                    Expires = DateTime.Now.AddDays(-1D),
                    Secure = true,
                    HttpOnly = true
                });

            // Signs out at the specified security token service (STS) by using the WS-Federation protocol.
            Uri signOutUrl = new Uri(FederatedAuthentication.WSFederationAuthenticationModule.Issuer);
            Uri replyUrl = new Uri(FederatedAuthentication.WSFederationAuthenticationModule.Realm);
            if (!string.IsNullOrEmpty(redirectUrl))
            {
                replyUrl = new Uri(FederatedAuthentication.WSFederationAuthenticationModule.Realm + redirectUrl);
            }
           //     Signs out of the current session and raises the appropriate events.
            var authModule = FederatedAuthentication.WSFederationAuthenticationModule;
            authModule.SignOut(false);
        //     Signs out at the specified security token service (STS) by using the WS-Federation
        //     protocol.            
            WSFederationAuthenticationModule.FederatedSignOut(signOutUrl, replyUrl);
            return new RedirectResult(redirectUrl);
        }

Implementera korrekt utloggning när du använder Identity Server

Rubrik Information
Komponent Identitetsserver
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser IdentityServer3-Federated sign out
Steg IdentityServer stöder möjligheten att federera med externa identitetsproviders. När en användare loggar ut från en överordnad identitetsprovider kan det, beroende på vilket protokoll som används, vara möjligt att få ett meddelande när användaren loggar ut. Det gör att IdentityServer kan meddela sina klienter så att de också kan logga ut användaren. Se dokumentationen i referensavsnittet för implementeringsinformation.

Program som är tillgängliga via HTTPS måste använda säkra cookies

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut EnvironmentType – OnPrem
Referenser httpCookies-element (ASP.NET Inställningar Schema), egenskapen HttpCookie.Secure
Steg Cookies är vanligtvis bara tillgängliga för den domän som de har omfång för. Tyvärr innehåller inte definitionen av "domän" protokollet, så cookies som skapas över HTTPS är tillgängliga via HTTP. Attributet "säker" anger för webbläsaren att cookien endast ska göras tillgänglig via HTTPS. Se till att alla cookies som anges via HTTPS använder det säkra attributet. Kravet kan tillämpas i web.config genom att ange attributet requireSSL till true. Det är den bästa metoden eftersom det kommer att framtvinga det säkra attributet för alla aktuella och framtida cookies utan att behöva göra några ytterligare kodändringar.

Exempel

<configuration>
  <system.web>
    <httpCookies requireSSL="true"/>
  </system.web>
</configuration>

Inställningen tillämpas även om HTTP används för att komma åt programmet. Om HTTP används för att komma åt programmet, bryter inställningen programmet eftersom cookies har angetts med det säkra attributet och webbläsaren inte skickar tillbaka dem till programmet.

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Web Forms, MVC5
Attribut EnvironmentType – OnPrem
Referenser Ej tillämpligt
Steg När webbappen är förlitande part och IdP:n är ADFS-server, kan FedAuth-tokens säkra attribut konfigureras genom att ställa in requireSSL till True i avsnittet system.identityModel.services web.config:

Exempel

  <system.identityModel.services>
    <federationConfiguration>
      <!-- Set requireSsl=true; domain=application domain name used by FedAuth cookies (Ex: .gdinfra.com); -->
      <cookieHandler requireSsl="true" persistentSessionLifetime="0.0:20:0" />
    ....  
    </federationConfiguration>
  </system.identityModel.services>
Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Secure Cookie Attribute
Steg För att minska risken för avslöjande av information med en XSS-attack (cross-site scripting) introducerades ett nytt attribut – httpOnly – till cookies och stöds av alla större webbläsare. Attributet anger att en cookie inte är tillgänglig via skript. Genom att använda HttpOnly-cookies minskar ett webbprogram risken för att känslig information i cookien kan stjälas via skript och skickas till en angripares webbplats.

Exempel

Alla HTTP-baserade program som använder cookies ska ange HttpOnly i cookiedefinitionen genom att implementera följande konfiguration i web.config:

<system.web>
.
.
   <httpCookies requireSSL="false" httpOnlyCookies="true"/>
.
.
</system.web>
Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Web Forms
Attribut Ej tillämpligt
Referenser FormsAuthentication.RequireSSL-egenskap
Steg Egenskapsvärdet RequireSSL anges i konfigurationsfilen för ett ASP.NET program med hjälp av attributet requireSSL för konfigurationselementet. Du kan ange i Web.config-filen för ditt ASP.NET-program om Transport Layer Security (TLS), tidigare kallat SSL (Secure Sockets Layer), krävs för att returnera cookien för formulärautentisering till servern genom att ange attributet requireSSL.

Exempel

I följande kodexempel anges attributet requireSSL i Web.config filen.

<authentication mode="Forms">
  <forms loginUrl="member_login.aspx" cookieless="UseCookies" requireSSL="true"/>
</authentication>
Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker MVC5
Attribut EnvironmentType – OnPrem
Referenser Windows Wif-konfiguration (Identity Foundation) – del II
Steg Om du vill ange httpOnly-attribut för FedAuth-cookies ska attributet hideFromCsript anges till True.

Exempel

Följande konfiguration visar rätt konfiguration:

<federatedAuthentication>
<cookieHandler mode="Custom"
                       hideFromScript="true"
                       name="FedAuth"
                       path="/"
                       requireSsl="true"
                       persistentSessionLifetime="25">
</cookieHandler>
</federatedAuthentication>

Minska risken för CSRF-attacker (Cross-Site Request Forgery) ASP.NET webbplatser

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Förfalskning av begäran mellan webbplatser (CSRF eller XSRF) är en typ av attack där en angripare kan utföra åtgärder i säkerhetskontexten för en annan användares etablerade session på en webbplats. Målet är att ändra eller ta bort innehåll om målwebbplatsen enbart använder sessionscookies för att autentisera mottagen begäran. En angripare kan utnyttja den här säkerhetsrisken genom att hämta en annan användares webbläsare för att läsa in en URL med ett kommando från en sårbar plats där användaren redan är inloggad. Det finns många sätt för en angripare att göra det, till exempel genom att vara värd för en annan webbplats som läser in en resurs från den sårbara servern eller få användaren att klicka på en länk. Angreppet kan förhindras om servern skickar ytterligare en token till klienten, kräver att klienten inkluderar denna token i alla framtida begäranden och verifierar att alla framtida begäranden innehåller en token som hör till den aktuella sessionen, till exempel genom att använda ASP.NET AntiForgeryToken eller ViewState.
Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker MVC5, MVC6
Attribut Ej tillämpligt
Referenser XSRF/CSRF-skydd i ASP.NET MVC och webbsidor
Steg Anti-CSRF och ASP.NET MVC-formulär – Använd hjälpmetoden i Vyer. Placera till exempel ett AntiForgeryToken Html.AntiForgeryToken() i formuläret

Exempel

@using (Html.BeginForm("UserProfile", "SubmitUpdate")) { 
    @Html.ValidationSummary(true) 
    @Html.AntiForgeryToken()
    <fieldset> 

Exempel

<form action="/UserProfile/SubmitUpdate" method="post">
    <input name="__RequestVerificationToken" type="hidden" value="saTFWpkKN0BYazFtN6c4YbZAmsEwG0srqlUqqloi/fVgeV2ciIFVmelvzwRZpArs" />
    <!-- rest of form goes here -->
</form>

Exempel

Samtidigt ger Html.AntiForgeryToken() besökaren en cookie som kallas __RequestVerificationToken, med samma värde som det slumpmässiga dolda värdet som visas ovan. För att verifiera ett inkommande formulärinlägg lägger du sedan till filtret [ValidateAntiForgeryToken] i målåtgärdsmetoden. Exempel:

[ValidateAntiForgeryToken]
public ViewResult SubmitUpdate()
{
// ... etc.
}

Auktoriseringsfilter som kontrollerar att:

  • Den inkommande begäran har en cookie som kallas __RequestVerificationToken
  • Den inkommande begäran har en Request.Form post med namnet __RequestVerificationToken
  • Dessa cookie- Request.Form och värden matchar Förutsatt att allt är bra går begäran igenom som vanligt. Men om inte, så har ett auktoriseringsfel med meddelandet "A required anti-forgery token was not supplied or was invalid" (Ett nödvändigt antiförfalskningstoken har inte angetts eller var ogiltigt).

Exempel

Anti-CSRF och AJAX: Formulärtoken kan vara ett problem för AJAX-begäranden, eftersom en AJAX-begäran kan skicka JSON-data, inte HTML-formulärdata. En lösning är att skicka token i ett anpassat HTTP-huvud. Följande kod använder Razor-syntax för att generera token och lägger sedan till token i en AJAX-begäran.

<script>
    @functions{
        public string TokenHeaderValue()
        {
            string cookieToken, formToken;
            AntiForgery.GetTokens(null, out cookieToken, out formToken);
            return cookieToken + ":" + formToken;                
        }
    }

    $.ajax("api/values", {
        type: "post",
        contentType: "application/json",
        data: {  }, // JSON data goes here
        dataType: "json",
        headers: {
            'RequestVerificationToken': '@TokenHeaderValue()'
        }
    });
</script>

Exempel

När du bearbetar begäran extraherar du token från begärandehuvudet. Anropa sedan metoden AntiForgery.Validate för att verifiera token. Metoden Validate kastar ett undantag om token inte är giltiga.

void ValidateRequestHeader(HttpRequestMessage request)
{
    string cookieToken = "";
    string formToken = "";

    IEnumerable<string> tokenHeaders;
    if (request.Headers.TryGetValues("RequestVerificationToken", out tokenHeaders))
    {
        string[] tokens = tokenHeaders.First().Split(':');
        if (tokens.Length == 2)
        {
            cookieToken = tokens[0].Trim();
            formToken = tokens[1].Trim();
        }
    }
    AntiForgery.Validate(cookieToken, formToken);
}
Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Web Forms
Attribut Ej tillämpligt
Referenser Dra nytta av ASP.NET inbyggda funktioner för att förhindra webbattacker
Steg CSRF-attacker i WebForm-baserade program kan minimeras genom att ange ViewStateUserKey till en slumpmässig sträng som varierar för varje användare – användar-ID eller, ännu bättre, sessions-ID. Av ett antal tekniska och sociala skäl passar sessions-ID:t mycket bättre eftersom ett sessions-ID är oförutsägbart, tar för lång tid och varierar beroende på användare.

Exempel

Här är den kod du behöver ha på alla dina sidor:

void Page_Init (object sender, EventArgs e) {
   ViewStateUserKey = Session.SessionID;
   :
}

Konfigurera session för inaktivitetslivslängd

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser HttpSessionState.Timeout-egenskap
Steg Tidsgräns för session representerar den händelse som inträffar när en användare inte utför någon åtgärd på en webbplats under ett intervall (definieras av webbservern). Händelsen på serversidan ändrar statusen för användarsessionen till "ogiltig" (till exempel "används inte längre") och instruerar webbservern att förstöra den (ta bort alla data som finns i den). I följande kodexempel anges timeout-sessionsattributet till 15 minuter i Web.config filen.

Exempel

<configuration>
  <system.web>
    <sessionState mode="InProc" cookieless="true" timeout="15" />
  </system.web>
</configuration>

Aktivera hotidentifiering på Azure SQL

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Web Forms
Attribut Ej tillämpligt
Referenser Forms-element för autentisering (ASP.NET Inställningar Schema)
Steg Ange tidsgränsen för formulär för autentiseringsbiljett till 15 minuter

Exempel

<forms  name=".ASPXAUTH" loginUrl="login.aspx"  defaultUrl="default.aspx" protection="All" timeout="15" path="/" requireSSL="true" slidingExpiration="true"/>
</forms>
Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Web Forms, MVC5
Attribut EnvironmentType – OnPrem
Referenser asdeqa
Steg När webbprogrammet är förlitande part och ADFS är säkerhetstokentoken kan livslängden för autentiseringscookies – FedAuth-token – anges med följande konfiguration i web.config:

Exempel

  <system.identityModel.services>
    <federationConfiguration>
      <!-- Set requireSsl=true; domain=application domain name used by FedAuth cookies (Ex: .gdinfra.com); -->
      <cookieHandler requireSsl="true" persistentSessionLifetime="0.0:15:0" />
      <!-- Set requireHttps=true; -->
      <wsFederation passiveRedirectEnabled="true" issuer="http://localhost:39529/" realm="https://localhost:44302/" reply="https://localhost:44302/" requireHttps="true"/>
      <!--
      Use the code below to enable encryption-decryption of claims received from ADFS. Thumbprint value varies based on the certificate being used.
      <serviceCertificate>
        <certificateReference findValue="4FBBBA33A1D11A9022A5BF3492FF83320007686A" storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" />
      </serviceCertificate>
      -->
    </federationConfiguration>
  </system.identityModel.services>

Exempel

Dessutom ska livslängden för ADFS-utfärdade SAML-anspråkstoken vara inställd på 15 minuter genom att köra följande PowerShell-kommando på ADFS-servern:

Set-ADFSRelyingPartyTrust -TargetName "<RelyingPartyWebApp>" -ClaimsProviderName @("Active Directory") -TokenLifetime 15 -AlwaysRequireAuthentication $true

Implementera korrekt utloggning från programmet

Rubrik Information
Komponent Webbprogram
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Utför korrekt utloggning från programmet när användaren trycker på knappen logga ut. Vid utloggning bör programmet förstöra användarens session och även återställa och nullifiera sessionscookievärdet, tillsammans med återställning och nullifiering av autentiseringscookievärdet. När flera sessioner är knutna till en enda användaridentitet måste de dessutom avslutas tillsammans på serversidan vid timeout eller utloggning. Kontrollera slutligen att utloggningsfunktionen är tillgänglig på varje sida.

Minska risken för CSRF-attacker (Cross-Site Request Forgery) ASP.NET webb-API:er

Rubrik Information
Komponent Webb-API
SDL-fas Skapa
Tillämpliga tekniker Allmänna
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steg Förfalskning av begäran mellan webbplatser (CSRF eller XSRF) är en typ av attack där en angripare kan utföra åtgärder i säkerhetskontexten för en annan användares etablerade session på en webbplats. Målet är att ändra eller ta bort innehåll om målwebbplatsen enbart använder sessionscookies för att autentisera mottagen begäran. En angripare kan utnyttja den här säkerhetsrisken genom att hämta en annan användares webbläsare för att läsa in en URL med ett kommando från en sårbar plats där användaren redan är inloggad. Det finns många sätt för en angripare att göra det, till exempel genom att vara värd för en annan webbplats som läser in en resurs från den sårbara servern eller få användaren att klicka på en länk. Angreppet kan förhindras om servern skickar ytterligare en token till klienten, kräver att klienten inkluderar denna token i alla framtida begäranden och verifierar att alla framtida begäranden innehåller en token som hör till den aktuella sessionen, till exempel genom att använda ASP.NET AntiForgeryToken eller ViewState.
Rubrik Information
Komponent Webb-API
SDL-fas Skapa
Tillämpliga tekniker MVC5, MVC6
Attribut Ej tillämpligt
Referenser Förhindra CSRF-attacker (förfalskning av begäran mellan webbplatser) i ASP.NET webb-API
Steg Anti-CSRF och AJAX: Formulärtoken kan vara ett problem för AJAX-begäranden, eftersom en AJAX-begäran kan skicka JSON-data, inte HTML-formulärdata. En lösning är att skicka token i ett anpassat HTTP-huvud. Följande kod använder Razor-syntax för att generera token och lägger sedan till token i en AJAX-begäran.

Exempel

<script>
    @functions{
        public string TokenHeaderValue()
        {
            string cookieToken, formToken;
            AntiForgery.GetTokens(null, out cookieToken, out formToken);
            return cookieToken + ":" + formToken;                
        }
    }
    $.ajax("api/values", {
        type: "post",
        contentType: "application/json",
        data: {  }, // JSON data goes here
        dataType: "json",
        headers: {
            'RequestVerificationToken': '@TokenHeaderValue()'
        }
    });
</script>

Exempel

När du bearbetar begäran extraherar du token från begärandehuvudet. Anropa sedan metoden AntiForgery.Validate för att verifiera token. Metoden Validate kastar ett undantag om token inte är giltiga.

void ValidateRequestHeader(HttpRequestMessage request)
{
    string cookieToken = "";
    string formToken = "";

    IEnumerable<string> tokenHeaders;
    if (request.Headers.TryGetValues("RequestVerificationToken", out tokenHeaders))
    {
        string[] tokens = tokenHeaders.First().Split(':');
        if (tokens.Length == 2)
        {
            cookieToken = tokens[0].Trim();
            formToken = tokens[1].Trim();
        }
    }
    AntiForgery.Validate(cookieToken, formToken);
}

Exempel

Anti-CSRF och ASP.NET MVC-formulär – Använd hjälpmetoden AntiForgeryToken i Vyer; placera html.AntiForgeryToken() i formuläret, till exempel

@using (Html.BeginForm("UserProfile", "SubmitUpdate")) { 
    @Html.ValidationSummary(true) 
    @Html.AntiForgeryToken()
    <fieldset> 
}

Exempel

Exemplet ovan visar något som liknar följande:

<form action="/UserProfile/SubmitUpdate" method="post">
    <input name="__RequestVerificationToken" type="hidden" value="saTFWpkKN0BYazFtN6c4YbZAmsEwG0srqlUqqloi/fVgeV2ciIFVmelvzwRZpArs" />
    <!-- rest of form goes here -->
</form>

Exempel

Samtidigt ger Html.AntiForgeryToken() besökaren en cookie som kallas __RequestVerificationToken, med samma värde som det slumpmässiga dolda värdet som visas ovan. För att verifiera ett inkommande formulärinlägg lägger du sedan till filtret [ValidateAntiForgeryToken] i målåtgärdsmetoden. Exempel:

[ValidateAntiForgeryToken]
public ViewResult SubmitUpdate()
{
// ... etc.
}

Auktoriseringsfilter som kontrollerar att:

  • Den inkommande begäran har en cookie som kallas __RequestVerificationToken
  • Den inkommande begäran har en Request.Form post med namnet __RequestVerificationToken
  • Dessa cookie- Request.Form och värden matchar Förutsatt att allt är bra går begäran igenom som vanligt. Men om inte, så har ett auktoriseringsfel med meddelandet "A required anti-forgery token was not supplied or was invalid" (Ett nödvändigt antiförfalskningstoken har inte angetts eller var ogiltigt).
Rubrik Information
Komponent Webb-API
SDL-fas Skapa
Tillämpliga tekniker MVC5, MVC6
Attribut Identitetsprovider – ADFS, identitetsprovider – Azure AD
Referenser Skydda ett webb-API med enskilda konton och lokal inloggning i ASP.NET Web API 2.2
Steg Om webb-API:et skyddas med OAuth 2.0 förväntar det sig en bearer-token i rubriken Authorization request (Auktoriseringsbegäran) och ger endast åtkomst till begäran om token är giltig. Till skillnad från cookiebaserad autentisering kopplar inte webbläsare bearer-tokens till begäranden. Den begärande klienten måste uttryckligen bifoga bearer-token i begärandehuvudet. Därför betraktas ASP.NET webb-API:er som skyddas med OAuth 2.0 som ett skydd mot CSRF-attacker. Observera att om MVC-delen av programmet använder formulärautentisering (d.v.s. använder cookies) måste antiförfalskningstoken användas av MVC-webbappen.

Exempel

Webb-API:et måste informeras om att endast förlita sig på bearer-tokens och inte på cookies. Det kan göras med följande konfiguration i WebApiConfig.Register metoden :

config.SuppressDefaultHostAuthentication();
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

Metoden SuppressDefaultHostAuthentication talar om för webb-API:et att ignorera all autentisering som sker innan begäran når Web API-pipelinen, antingen av IIS eller av OWIN-mellanprogram. På så sätt kan vi begränsa webb-API:et till att endast autentisera med hjälp av bearer-tokens.