2016-06-03 2 views
1

Ich benutze FB SDK für iOS, um meine Benutzer einzuloggen. Mein Verständnis ist, dass ich ein gewährtes Token von SDK auf der Client-Seite erhalten und es verwenden kann, um Benutzer in meiner Web-API zu authentifizieren. Was ich nicht verstehen kann, ist die Verwendung von SignInManager<ApplicationUser>, um meine Benutzer nur mit einem Token zu authentifizieren.Verwenden von ASP.NET MVC 6 Web API Identität, wenn ich ein Token vom FB habe

Antwort

0

Sie benötigen JWT Bearer-Authentifizierung.

Facebook gewährt Ihnen eine access_token im JSON Web Token (JWT) -Format. Fügen Sie das als Bearer-Token in Ihre Web-API-Anfragen ein.

GET http://www.webapi.com/v1/people 
Authorization: Bearer the_facebook_access_token_goes_here 

Verwenden Sie dann die ASP.NET Security JWT Bearer Middleware. Es liest das Token und füllt die HttpContext.User.Identity.

Das ASP.NET-Team hat hier ein Beispiel: https://github.com/aspnet/Security/tree/dev/samples/JwtBearerSample Hier sind die Grundlagen zur Konfiguration der JWT Bearer-Authentifizierung.

project.json

dependencies : { 
    "Microsoft.AspNetCore.Authentication.JwtBearer": "1.1.0-*", 
} 

Startup.cs

public void ConfigureServices(IServiceCollection services) 
{ 
    services.AddAuthentication(); 
} 

app.UseJwtBearerAuthentication(new JwtBearerOptions 
{ 
    // set these to the Facebook Authority and Audience 
    Authority = "" 
    Audience = "" 
}); 

Schmücken Sie Ihre Web-API-Aktionen mit dem [Authorize] Attribute.

Das könnte genug sein, um loszulegen.

Verwandte Themen