C# Cơ bản .NET Core §1 Cài đặt, chương trình C# đầu tiên §2 Biến, kiểu dữ liệu và nhập/xuất §3 Toán tử số học và gán §4 So sánh, logic và lệnh if, switch §5 Vòng lặp for, while §6 Phương thức - Method §7 Phương thức - Delegate §8 Lớp - Class §9 Namespace §10 Partial, Nested §11 Kiểu giá trị, tham chiếu §12 Kiểu vô danh và dynamic §13 Biểu thức lambda §14 Event §15 Hàm hủy - Quá tải toán tử - thành viên tĩnh - indexer §16 null và nullable §17 Mảng §18 Chuỗi ký tự §19 Tính kế thừa §20 Phương thức khởi tạo §21 Tính đa hình - abstract - interface §22 Struct và Enum §23 Ngoại lệ Exeption §24 IDisposable - using §25 File cơ bản §26 FileStream §27 Generic §28 Collection - List §29 SortedList §30 Queue / Stack §31 Linkedlist §32 Dictionary - HashSet §33 Phương thức mở rộng §34 ObservableCollection §35 LINQ §36 (Multithreading) async - bất đồng bộ §37 Type §38 Attribute Annotation §39 DI Dependency Injection §40 (Multithreading) Parallel §41 Thư viện lớp §42 (Networking) HttpClient §43 (Networking) HttpMessageHandler §44 (Networking) HttpListener §45 (Networking) Tcp TcpListenerr/TcpClient §46 (ADO.NET) SqlConnection §47 (ADO.NET) SqlCommand §48 (EF Core) Tổng quan §49 (EF Core) Tạo Model §50 (EF Core) Fluent API §51 (EF Core) Query §52 (EF Core) Scaffold §53 (EF Core) Migration §54 (ASP.NET CORE) Hello World! §55 (ASP.NET CORE) Middleware §56 (ASP.NET CORE) Map - Request - Response §57 (ASP.NET CORE) IServiceCollection - MapWhen §58 (ASP.NET CORE) Session - ISession §59 (ASP.NET CORE) Configuration §60 (ASP.NET CORE) Gửi Mail §61 (ASP.NET RAZOR) Khởi tạo và Route §62 (ASP.NET RAZOR) Cú pháp Razor §63 (ASP.NET RAZOR) Layout trong ASP.NET Core §64 (ASP.NET RAZOR) Partial §65 (ASP.NET RAZOR) ViewComponent §66 (ASP.NET RAZOR) TagHelper §67 (ASP.NET RAZOR) PageModel §68 (ASP.NET RAZOR) Model Binding §69 (ASP.NET RAZOR) HTML Form, Validation §70 (ASP.NET RAZOR) Upload File §71 (ASP.NET RAZOR) HtmlHelper §72 (ASP.NET RAZOR) Entity Framework §73 (ASP.NET RAZOR) Paging §74 (ASP.NET RAZOR) Identity (1) - Register, Login, Logout §75 (ASP.NET RAZOR) Identity (2) Lockout, Reset Password §76 (ASP.NET RAZOR) Identity (3) Google Login §77 (ASP.NET RAZOR) Identity (4) Facebook Login §78 (ASP.NET RAZOR) Identity (5) profile, password, email ... §79 (ASP.NET RAZOR) Identity (6) Role §80 (ASP.NET RAZOR) Identity (7) Role-based Authorization §81 (ASP.NET RAZOR) Identity (8) RoleClaim §82 (ASP.NET RAZOR) Identity (9) Authorization Handler §83 (ASP.NET RAZOR) IAuthorizationService §84 (ASP.NET MVC) Controller - View §85 (ASP.NET MVC) MVC Route

Bài này tiếp tục thực hành, phát triển trên dự án của ví dụ Album trước: Identity (3) - Xác thực bằng tài khoản Google

Tạo ứng dụng Facebook để thêm tính năng Đăng nhập từ Facebook

Trước tiên bạn cần có tài khoản phát triển trên Facebook, sau đó vào developers.facebook.com/apps/ và tạo ra một ứng dụng mới.

Sau khi tạo ra ứng dụng, tại trang tổng quan (chọn Bản điều khiển) - bấm chọn Đăng nhập bằng Facebook

Sau đó chọn Đăng nhập bằng Facebook ở khu vực điều hướng trái, chọn Web

Chọn mục Cài đặt của tính năng đăng nhập, tại ô Url chuyển hướng OAuth hợp lệ điền các Url cho phép chuyển hướng đến, tại đây điền https://localhost:5001/dang-nhap-tu-facebook vài sau đây chúng ta thiết lập ứng dụng Asp.net sử dụng Url này nhận thông tin do Facbook gửi đến

Cuối cùng vào phần Cài đặt > Thông tin cơ bản tại đây lấy được hai thông tin là: AppId (ID của ứng dụng) và AppSecret (khóa bí mật) - hai thông tin này để xác thực ứng dụng ASP.NET được quyền truy cập API thông qua ứng dụng vừa tạo trên Facebook

Tích hợp Facebook vào ASP.NET Identity

Các thiết lập và cách sử dụng giống với trường hợp tích hợp Google. Trước tiên đảm bảo đã có gói Microsoft.AspNetCore.Authentication.Facebook

dotnet add package Microsoft.AspNetCore.Authentication.Facebook

Thêm cấu hình vào appsettings.json

{
  // các cấu hình khác

  "Authentication": {
    "Google": {
        //...
    }, 
    "Facebook": {
      "AppId": "điền ID ứng dụng Facebook",
      "AppSecret": "điền mã số bí mật"
    }
  },
}

Tiếp theo ConfigureServices của Startup thêm vào:

services.AddAuthentication()
    .AddGoogle(googleOptions =>
    {
        // Cấu hình Google từ bài trước ... (bỏ đi nếu không dùng)
    })
    .AddFacebook(facebookOptions => {
        // Đọc cấu hình
        IConfigurationSection facebookAuthNSection = Configuration.GetSection("Authentication:Facebook");
        facebookOptions.AppId = facebookAuthNSection["AppId"];
        facebookOptions.AppSecret = facebookAuthNSection["AppSecret"];
        // Thiết lập đường dẫn Facebook chuyển hướng đến
        facebookOptions.CallbackPath = "/dang-nhap-tu-facebook";
    });

Như vậy đã hoàn thành tích hợp Facebook vào Asp.net, nó sử dụng lại tất cả các code mà đã thực hành chi tiết khi tích hợp Google (sử dụng lại ExternalLogin.cshtml.cs ... )

Mã nguồn tham khảo ASP_NET_CORE/Album

Đăng ký theo dõi ủng hộ kênh