Identity Server 4: Sử dụng sigining certificate (Part 4)

Trong bài viết này, mình sẽ hướng dẫn các bạn sử dụng Signing Certificate cho Identity Server.
Lưu ý:
Trong series bài viết về Identity Server 4, mình sử dụng .NET Core 1.1, Identity Server 4 version 1.5.2. Hiện tại Identity Server chưa có version chính thức cho .NET Core 2.0, nên mình chưa tìm hiểu về nó.

Signing Certificate là gì?

Chứng chỉ đăng ký là một chứng chỉ chuyên dụng được sử dụng để ký mã (sign token), cho phép các ứng dụng client xác minh rằng nội dung của token không bị thay đổi khi chuyển tiếp.
Khi bạn chưa có certificate, bạn sẽ có 2 cách khai báo

Identity Server 4: Thêm Quickstart UI và OIDC client (Part 3)

Trong bài viết này, mình sẽ hướng dẫn các bạn tích hợp giao diện QuickStartUI và oidc-client vào dự án.
Tham khảo 2 bài viết trước đây:
Mình sẽ xây dựng 2 server:
  • Authorization Server: sử dụng port 5000.
  • Web API: sử dụng port 4000

Sử dụng Autofac Module trong .NET Core

Trong bài viết này, mình sẽ hướng dẫn các bạn sử dụng Autofac trong .NET Core và cách khai báo module DI trong class library.

Cài đặt Autofac

Cài đặt packages từ Nuget:
  • Autofac
  • Autofac.Extensions.DependencyInjection
Hàm ConfigureServices ban đầu:
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
 services.AddMvc();
}

Identity Server 4: Bảo vệ Web API bằng Access Token (Part 2)

Part 1: Tìm hiểu về Identity Server 4
Trong bài viết này, mình sẽ hướng dẫn các bạn cách xây dựng 1 web api đơn giản và validate 1 access token.

Cấu hình Server và Port

Bạn sẽ có 2 server:
  • Authorization Server: port 9999.
  • Web API Server: port 5000.
Đầu tiên, bạn cần đổi port Project IdentityServer4Demo thành 9999


Dependency injection trong .NET Core

Depedency Injection là gì?

Dependency Injection (DI) là 1 kỹ thuật để chống lại sự phụ thuộc giữa các đối tượng, các thành phần, và các lớp bằng cách nghịch đảo luồng điểu khiển của ứng dụng.
Có 3 khái niệm Dependency Injection: Constructor injection, Setter Injection, và Interface Injection.
Trong bài viết này, chúng ta chỉ làm ví dụ về Constructor injection.

Tìm hiểu về IdentityServer 4

Trong bài viết này, mình sẽ hướng dẫn các bạn làm quen với thư viện Identity Server 4, và tích hợp các service In-Memory của Identity Server 4 vào Project Web API trong .NET Core.

OpenID và OAuth2

Trong bài viết này, mình chỉ tập hợp lại và bổ sung thêm những thông tin hữu ích về OpenID và OAuth2.

Open ID

OpenID là một tiêu chuẩn mở và là một giao thức Authencation được phân cấp.
OpenID cho phép bạn sử dụng 1 account đã có để đăng nhập nhiều website, mà không cần tạo password mới.
Bạn có thể chọn nhiều thông tin liên kết với OpenID của bạn để chia sẽ với website mà bạn ghé thăm, ví dụ như name hoặc địa chỉ email. Với OpenID, bạn điều khiển được số lượng thông tin mà bạn muốn chia sẽ.

Hướng dẫn tạo Self-Certificate trong IIS

Trong bài viết này, mình sẽ hướng dẫn các bạn cách tạo file Certificate dùng trong môi trường development.
Có rất nhiều cách để tạo file certifcate (pfx). Tuy nhiên, mình thấy sử dụng Internet Information Services (IIS) Manager là dễ dàng nhất.
Đầu tiên, bạn cần kiểm tra xem IIS đã được cài đặt vào máy tính chưa. Nếu chưa, bạn cần cài đặt IIS trong Program and Features


Awesome .NET!

A collection of awesome .NET tools

  • SharpDevelop - A free IDE for .NET programming languages
  • MonoDevelop - MonoDevelop is a cross platform IDE mostly aimed at Mono/.NET developers
  • Visual Studio Express - The free lightweight version of Visual Studio for .NET programming.
  • Visual Studio Community - A full-Featured IDE - Free
  • Waf DotNetPad - A simple and fast code editor that makes fun program with C# or Visual Basic.
  • Visual Studio Code - Excellent free editor from Microsoft, based on GitHub Atom.
  • Ionide - An Atom Editor and Visual Studio Code package suite for cross platform F# development.
  • Rider - A cross-platform C# IDE based on the IntelliJ platform and ReSharper
  • RoslynPad - A simple C# editor based on Roslyn and AvalonEdit.
  • Consulo - A cross-platform IDE with C# & Java support, fork of IntelliJ IDEA Community Edition