All
Companies

Related posts

View all
Giới thiệu về JSON Binding trong Jakarta EE

Giới thiệu về JSON Binding trong Jakarta EE

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh JSON Binding là một specification của Jakarta EE về convert qua lại giữa JSON data và Java object, tương tự như thư viện Jackson mà mình đã giới thiệu với các bạn. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu về JSON Binding và cách sử dụng nó với một implementation của nó là Eclipse Yasson các bạn nhé! Đầu tiên, mình sẽ tạo mới một Maven project để làm ví dụ: [irp posts="14451" name="JSON-LD là gì ? Tổng quan về JSON-LD cho người mới"] Eclipse Yasson dependency như sau: <dependency> <groupId>org.eclipse</groupId> <artifactId>yasson</artifactId> <version>3.0.2</version> </dependency> Để làm ví dụ, mình sẽ định nghĩa một class Student chứa thông tin sinh viên như sau: package com.huongdanjava.jakartaee; public record Student(String name, int age) { } Mình sẽ khởi tạo đối tượng của class Student trước: Student student = new Student("Khanh", 35); Để convert đối tượng Student này qua chuỗi JSON, các bạn cần khởi tạo đối [...]

Read more
0x0B và JSON parser

0x0B và JSON parser

Bài viết được sự cho phép của tác giả Huy Trần Vào một ngày đẹp trời, một mail rì pọt từ user gửi đến, nội dung như này: Tui đang dùng app ABC của mấy người. Ở màn hình order, tui copy một đoạn text từ Powerpoint ra và dán vào mục Order Message. Xong tui bấm nút tiếp tục, thì app ngừng hoạt động, màn hình chỉ hiện lên một nửa, đây là nội dung lời nhắn: "Happy birthday, Dave! We got a gift for you! Hope you like it, Mom and Dad." Nhìn từ bên ngoài, lời nhắn kia trông không có gì khả nghi, nhưng nếu nhìn kĩ bằng cách bật chế độ hiển thị các kí tự ẩn (hidden characters) trên editor (với Emacs thì M-x whitespace-mode, với các editor khác thì các bạn tự Google đi), thì ta có thể thấy ngay một vài kí tự lạ xuất hiện: "Happy birthday, Dave!^K^K We got a gift for you!^K^K Hope you like it,^K Mom and Dad." Để chi tiết hơn, ta có thể dù [...]

Read more
Giới thiệu Json Web Token (JWT)

Giới thiệu Json Web Token (JWT)

Bài viết được sự cho phép của tác giả Giang Phan Authentication là phần không thể thiếu trong bất kỳ hệ thống nào. Phương pháp authentication đơn giản và hay được sử dụng trong các ứng dụng web đó là user gửi thông tin username và password lên server. Sau khi server chứng thực thành công sẽ tạo ra một chuỗi session_id và lưu vào session hay database ở phía server. Sau đó, gửi session_id này về client và được client lưu trên cookie. Nhưng với các ứng dụng trên mobile và các ứng dụng web SPA (Single Page Application) thì cần có cơ chế authentication tốt hơn khi mà chúng ta phải thiết kế các RESTful api (stateless) thì server không thể đảm nhiệm việc lưu trạng thái phiên làm việc của user. Một trong những phương pháp tốt để giải quyết vấn đề này là sử dụng JSON Web Token (JWT). JSON Web Token (JWT) là gì? JSON Web Token (JWT) là 1 tiêu chuẩn mở (RFC 7519), định nghĩa cách thức truyền tin an toàn giữa [...]

Read more
Định nghĩa JSON Web Key Set cho Authorization Server sử dụng Spring Authorization Server và tập tin PKCS12 key store

Định nghĩa JSON Web Key Set cho Authorization Server sử dụng Spring Authorization Server và tập tin PKCS12 key store

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh JSON Web Key Set là một tập hợp các public key JSON Web Key được cung cấp bởi Authorization Server, để cho Resource Server có thể verify access token được gửi bởi Client Application. Trong bài viết về Hiện thực OAuth Authorization Server sử dụng Spring Authorization Server, mình đã hướng dẫn các bạn cách định nghĩa JSON Web Key này sử dụng code. Thế nhưng cho các ứng dụng chạy trên production, vì vấn đề bảo mật, thông tin JSON Web Key thường sẽ được một bên khác quản lý, có thể là IT team. Họ sẽ generate một tập tin keystore, nhiệm vụ của chúng ta là sử dụng tập tin keystore này để định nghĩa JSON Web Key Set. Trong bài viết này, mình sẽ hướng dẫn các bạn cách định nghĩa JSON Web Key Set cho Authorization Server sử dụng Spring Authorization Server và tập tin PKCS12 key store các bạn nhé! [irp posts="31494" name="Cách tạo REST API với JSON Server"] [irp posts="34092" name="Ghi chú file package. [...]

Read more