Securing ASP.NET Core 2.0 Applications with JWTs

Securing ASP.NET Core 2.0 Applications with JWTs

โหลดตัวอย่างมาจาก Git Using JWTs in .NET Core 2

เปิดขึ้นมาแล้วลองรัน
browser จะชี้ไปที่ http://localhost:63939/api/books ซึ่งจะ Error ดังนี้
This page isn’t working
If the problem continues, contact the site owner.
HTTP ERROR 401

แล้วถ้าเรียกไปที่ http://localhost:63939/api/token ก็จะ Error แบบนี้
This localhost page can’t be found
No webpage was found for the web address: http://localhost:63939/api/token
Search Google for localhost 63939 api token
HTTP ERROR 404

เป็นเพราะไม่ได้ส่งพารามิเตอร์ที่จำเป็นไปให้

ทีนี้ลองใช้ Postman เรียกไปที่ http://localhost:63939/api/token
พร้อมส่งค่าไปดังนี้

{
	"username": "mario", 
	"password": "secret"
}

จะได้ค่าคืนมาเป็นแบบข้างล่างนี้ก็เป็นอันใช้ได้

{
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJNYXJpbyBSb3NzaSIsImVtYWlsIjoibWFyaW8ucm9zc2lAZG9tYWluLmNvbSIsImJpcnRoZGF0ZSI6IjI1MjYtMDktMjMiLCJqdGkiOiJhYzdlYWRhZS02YzI4LTRlMDctOWM2OC1mMjAxMjNjYWY1OTUiLCJleHAiOjE1MzU1MzI2NTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjM5MzkvIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo2MzkzOS8ifQ.dCmNVlejU4kjQI1NNZRbBPXZ19AKQmWwekHT8aSCAsY"
}

 

Continue reading

การใช้ ionic เรียก WebApi เป็น Object

1. สร้างโปรเจ็กส์ ASP.NET Core

สร้างโปรเจ็กส์แบบ ASP.NET Core WebAPI in Azure

Startup.cs

ValuesController.cs

2. สร้างโปรเจ็กส์ ionic

สร้างโปรเจ็กส์ ionic เรียกใช้ HTTP แบบ Native (GET)

home.html

home.ts

3. ผลการรัน

ลองใช้ Postman ทำการ POST

{
    "ID": 101,
    "FirstName": "Phaisarn",
    "LastName": "Sutheebanjard"
}

ได้ผลลัพธ์กลับมาเป็น

101 : Phaisarn  Sutheebanjard

เรียกผ่าน browser แบบ Get

ไปที่ http://jackwebapi25610824112107.azurewebsites.net/api/values/1

ได้ผลลัพธ์กลับมาเป็น

{"id":50,"firstName":"Phaisarn","lastName":"Sutheebanjard"}

ใช้ ionic เรียกแบบ Get

http://jackwebapi25610824112107.azurewebsites.net/api/values/1
this.stStatus  200
this.stValue  {"id":50,"firstName":"Phaisarn","lastName":"Sutheebanjard"}
person['id']  50
person['firstName']  Phaisarn
person['lastName']  Sutheebanjard

ใช้ ionic เรียกแบบ Post

this.stStatus  200
this.stValue  101 : Phaisarn  Sutheebanjard

ASP.Net: login เข้าระบบด้วย Username แทนที่ Email

เตรียมโปรเจ็กส์ก่อน โดยสร้างโปรเจ็กส์แบบ MVC แบบมี user

1. แก้ไขหน้า Register

  • Models/AccountViewModels.cs
  • Views/Account/Register.cshtml
  • Controllers/AccountController.cs

2. แก้ไขหน้า Login

  • Models/AccountViewModels.cs
  • Views/Account/Login.cshtml
  • Controllers/AccountController.cs

Continue reading

Binary Search

ค้นหาจากตำแหน่งกึ่งกลาง ถ้าเจอก็จบ
ถ้าไม่เจอ แล้วเลขที่ค้นหามีค่ามากกว่า ก็หาต่อทางครึ่งซ้าย
ถ้าไม่เจอ แล้วเลขที่ค้นหามีค่าน้อยกว่า ก็หาต่อทางครึ่งขวา

โค๊ด

ผลการรัน

Search term found at index 4.
Press any key to continue . . .

ASP.Net: WebApi คืนค่าจากคลาส

สร้างโปรเจ็กส์แบบ WebApi
แล้วกำหนดให้คืนค่าเฉพาะ application/json

แก้ไข Controllers > ValuesController.cs

Continue reading