WebApp ที่ Authorization ด้วย Bearer Token

1.สร้าง WebApp

สร้างโปรเจ็กส์แบบ ASP.NET Web Application ชื่อ WebApp1

เลือก template แบบ Web API

2.แก้ไข routeTemplate

เดิม routeTemplate จะมีค่าเป็น "api/{controller}/{id}" ถ้าต้องการปรับ routeTemplate สามารถปรับได้ที่ไฟล์ App_start/WebApiConfig.cs

เช่นถ้าต้องการให้มี 2 GET Method ใน controller เดียวกัน ให้แยกด้วย action

routeTemplate: "{controller}/{action}/{id}",

และแก้ไขที่ controller

// GET mycontroller/getName
[HttpGet]
[ActionName("getName")]
public string getName([FromBody]myReq1 req) 
{}

// GET mycontroller/getId
[HttpGet]
[ActionName("getId")]
public string getId([FromBody]myReq2 req)
{}

3.รับ Authorization ด้วย Bearer Token

รับ Authorization ด้วย Bearer Token แบบ short string of hexadecimal characters

ตัวอย่างโค๊ดจาก Action Request Token Verification C# Sample

// POST api/values
public void Post([FromBody]string value)
{
    try
    {
        HttpRequestMessage request = Request;

        // Validate that we have a bearer token.
        if (request.Headers.Authorization == null ||
            !string.Equals(request.Headers.Authorization.Scheme, "bearer", StringComparison.OrdinalIgnoreCase) ||
            string.IsNullOrEmpty(request.Headers.Authorization.Parameter))
        {
            log.Error("missing bearer token");
            return;
        }

        // Get the token from the Authorization header 
        string bearerToken = request.Headers.Authorization.Parameter;
        log.Info(string.Format("bearerToken [{0}]", bearerToken));
    }
    catch (Exception ex)
    {
        log.Error(ex.Message);
        log.Error(ex.ToString());
    }
}

ตัวอย่งการเรียก request ด้วย Postman