14

Używam ASP.Net Core 2.0, chcę zbudować projekt Web API z typem autoryzacji indywidualnych kont użytkowników, ale jedyną opcją jest Connect to an existing user store in the cloud. Create new project screenshotLokalny magazyn kont użytkowników dla Web API w ASP.NET Core 2.0

Jak dodać szablon do Web API z indywidualnymi kontami użytkowników z numerem Store user accounts in-app?

Ta opcja jest dostępna dla aplikacji WWW, ale nie dla interfejsu Web API.

+0

Chciałbym znać odpowiedź na to. Na Macu jest jeszcze gorzej - nie ma nawet opcji dla indywidualnych kont użytkowników. – Shumii

Odpowiedz

11

Spróbuj rozpocząć swój projekt w konsoli za pomocą polecenia

dotnet new webapi -au Individual 

Można otworzyć swój projekt w VS po tym. (aby obejść okno dialogowe). Następnie możesz użyć na przykład atrybutu authorize. Jednak projekt nadal jest skonfigurowany do używania uwierzytelniania na okaziciela Azure. Musisz zdecydować, skąd wziąć tożsamość. Można wziąć identityserver4 lub budować własne „dostawców przechowywania niestandardowe dla ASP.NET podstawowej Identity” (MS-Docs)

różnicy do MVC aplikacji sieci Web: tutaj masz konta kontrolera z widokiem do obsługi rejestracji i uzyskać nazwę użytkownika i hasło i tak dalej.

+0

"* Ale projekt jest nadal skonfigurowany do używania uwierzytelniania na okaziciela Azure. *" Nie jestem pewien, w jaki sposób odpowiada na pytanie - nie realizujesz tożsamości w aplikacji w wygenerowanym projekcie. Nadal zależy od platformy Azure. 'Services.AddAuthentication (sharedOptions => { sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddAzureAdB2CBearer (options => Configuration.Bind ("AzureAdB2C", opcje));' – ruffin

2

Byłem zdziwiony tym samym, a skończyło się na wybraniu Web Application zamiast Web API. Prawdopodobnie logika w MS usuwa "konta w aplikacji" - z Web API prawdopodobnie piszesz SPA, a "widoki" (login, zapomniałeś hasła itp.) Powinny znajdować się w kodzie klienta; nie widoki Razor na serwerze.

Pamiętaj, że jeśli wybierzesz IdentityServer 4, widoki są generowane w aplikacji IS4; nie w aplikacji Business API.

Więc myślę, że Microsoft stara się dać ci wskazówkę tutaj ...

+2

zgadzam się z Feliksem tutaj. Możesz po prostu wybrać szablon aplikacji WWW, a następnie usunąć widoki i kontrolery do zarządzania kontem i zmodyfikować 'Startup.cs', aby mieć tylko oprogramowanie pośrednie potrzebne do uwierzytelniania opartego na tokenach. – ajawad987

+0

@ ajawad987 Co pozostało w twoim 'Startup.cs', kiedy skończysz? – ruffin