14

Tôi đang sử dụng ASP.Net Core 2.0, tôi muốn xây dựng dự án API Web với loại Ủy quyền Tài khoản Người dùng Cá nhân, nhưng tùy chọn duy nhất là Connect to an existing user store in the cloud. Create new project screenshotLưu trữ tài khoản người dùng cục bộ cho API Web trong ASP.NET Core 2.0

Tôi làm cách nào để thêm mẫu cho API Web với Tài khoản người dùng cá nhân với Store user accounts in-app?

Tùy chọn này khả dụng cho Ứng dụng web nhưng không áp dụng cho API Web.

+0

Rất muốn biết câu trả lời cho điều này. Trên máy Mac thậm chí còn tệ hơn - thậm chí bạn không có tùy chọn cho tài khoản người dùng cá nhân. – Shumii

Trả lời

11

Hãy thử bắt đầu dự án của bạn trong giao diện điều khiển bằng lệnh

dotnet new webapi -au Individual 

Bạn có thể mở dự án của bạn trong VS sau đó. (để làm việc xung quanh hộp thoại). Sau đó, bạn có thể sử dụng ví dụ như thuộc tính ủy quyền. Nhưng dự án vẫn được định cấu hình để sử dụng Xác thực Bearer Azure. Bạn phải quyết định nơi nhận danh tính. Bạn có thể lấy identityserver4 hoặc xây dựng "Nhà cung cấp lưu trữ tùy chỉnh cho ASP.NET Core Identity" của riêng bạn (MS-Docs)

Sự khác biệt với MVC WebApp: tại đây bạn có bộ điều khiển tài khoản với chế độ xem để xử lý đăng ký và nhận tên người dùng và mật khẩu và kể từ đó trở đi.

+0

"* Nhưng dự án vẫn được cấu hình để sử dụng xác thực Azure Bearer. *" Tôi nhầm lẫn cách trả lời câu hỏi - bạn không thực hiện nhận dạng trong ứng dụng trong dự án đã tạo. Nó vẫn phụ thuộc vào Azure. 'Services.AddAuthentication (sharedOptions => { sharedOptions.DefaultScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddAzureAdB2CBearer (options => Configuration.Bind ("AzureAdB2C", options)); ' – ruffin

2

Tôi đã bối rối bởi điều tương tự và đã kết thúc chọn Web Application thay vì Web API. Có lẽ logic trong MS loại bỏ "tài khoản trong ứng dụng" - Với Web API bạn có lẽ đang viết SPA, và "quan điểm" (Đăng nhập, Quên mật khẩu, vv) nên có trong mã khách hàng của bạn; không xem Razor trên máy chủ.

Lưu ý rằng nếu bạn đi với IdentityServer 4, các khung nhìn sẽ được tạo trong ứng dụng IS4; không phải trong ứng dụng API doanh nghiệp.

Vì vậy, tôi nghĩ Microsoft đang cố gắng cung cấp cho bạn một gợi ý ở đây ...

+2

Tôi đồng ý với Felix đây. Bạn chỉ có thể chọn mẫu ứng dụng Web và sau đó xóa các khung nhìn và các bộ điều khiển để quản lý tài khoản, và sửa đổi 'Startup.cs' để chỉ có phần mềm trung gian cần thiết để xác thực dựa trên mã thông báo. – ajawad987

+0

@ ajawad987 Những gì còn lại trong 'Startup.cs' khi bạn hoàn thành? – ruffin

Các vấn đề liên quan