Sử dụng OAuth với Facebook

Bài dưới đây hướng dẫn chúng ta các bước để tích hợp OAuth với Facebook, hướng dẫn gồm 2 phần:

  • Phần 1: Tạo facebook app để lấy ID và Secret
  • Phần 2: Thiết lập trong mã nguồn để tích hợp OAuth

Phần 1 – Tạo Facebook Apps

  • Truy cập địa chỉ https://developers.facebook.com/apps để tạo facebook apps

00

  • Click nút Add a New App > nhập thông tin như sau để tạo CApp

01

  • Click nút Create App ID để kết thúc tạo App
  • Sau khi tạo App, chọn Settings

fbapp04

  • Cửa sổ Settings hiện ra, chọn Add Platform

fbapp05

  • Chọn Website

fbapp06

  • Trong phần Site URL, nhập vào địa chỉ web

fbapp07

  • Click Save Changes để kết thúc phần tạo App

Phần 2 – Thiết lập trong mã nguồn web

Trong hình trên, chọn mục Show, bạn sẽ có được 2 giá trị đó là App ID App Secret

Copy 2 giá trị đó và thiết lập trong Startup.Auth.cs, tìm đến phần app.UseFacebookAuthentication, bỏ comment phần app.UseFacebookAuthentication và thiết lập 2 giá trị App ID và App Secret tương ứng.

Kết quả sau khi thiết lập giá trị App ID và App Secret như dưới đây

app.UseFacebookAuthentication(
  appId: "227282464333266",
  appSecret: "cbbaaca02b2c703e566ccdefb61d2177"); 

Lưu ứng dụng và nhấn tổ hợp Ctrl + F5 để kiểm tra kết quả

fb

Giao diện trang login bây giờ có thêm mục Facebook

Routing để sử dụng nhiều get methods trong ASP.NET WEB API

Làm thế nào để sử dụng nhiều phương thức GET trong Web API?

Ví dụ:

public class TestController : ApiController
{
     public Student GetStudentById(int id)
     {
     }

     public Teacher GetTeacherById(int id)
     {
     }
}

Khi chạy dịch vụ, để gọi phương thức của API ta phải dùng

http://mydomain/api/Test/1

Như vậy ở đây GetTeacherById được gọi hay GetStudentById được gọi? Để giải quyết vấn đề này, thuộc tính Route sẽ giúp chúng ta giải quyết

public class TestController : ApiController
{
     [Route("Student/Test/{id}")]
     public Student GetStudentById(int id) { .... }
     [Route("Teacher/Test/{id}")]
     public Teacher GetTeacherById(int id)
     {

     }
}

Với cách này, chúng ta có 2 URL phân biệt để gọi 2 phương thức khác nhau