Tiếng Việt
Tiếng Việt
Appearance
Tiếng Việt
Tiếng Việt
Appearance
Cổng người nhận là khu vực tự phục vụ tại badges.ninja/me, nơi bất kỳ ai đã được cấp huy hiệu có thể đăng nhập (không cần tài khoản), duyệt mọi chứng chỉ họ đã nhận qua badges.ninja và tạo một hồ sơ công khai để chia sẻ.
Nó là một trải nghiệm riêng biệt so với bảng điều khiển đơn vị cấp:
| Đối tượng | URL | Xác thực |
|---|---|---|
| Đơn vị cấp (người cấp huy hiệu) | /dashboard | Tài khoản thực (email + mật khẩu / SSO) |
| Người nhận (người lấy huy hiệu) | /me | Liên kết ma thuật qua email — không tài khoản, không mật khẩu |
| Bất kỳ ai (người xác thực) | /awards/<guid>, /verify/<guid>, /u/<handle> | Không — hoàn toàn công khai |
Tại sao không có mật khẩu?
Người nhận không nên phải nhớ thêm một đăng nhập chỉ để xem huy hiệu họ đã nhận. Chúng tôi gửi cho họ một liên kết dùng một lần thay vì vậy.
Truy cập badges.ninja/me. Trang có một trường email duy nhất:

Nhập địa chỉ email đã nhận các huy hiệu và nhấp Gửi cho tôi liên kết đăng nhập.
Chúng tôi phản hồi bằng thông báo "hãy kiểm tra hộp thư" bất kể có lần cấp nào tồn tại cho địa chỉ đó hay không. Điều này tránh làm lộ việc một email có đã từng nhận huy hiệu từ bất kỳ đơn vị cấp nào trên nền tảng.
Nếu có lần cấp cho địa chỉ đó, bạn sẽ nhận được một email với tiêu đề "Sign in to your Badges Ninja portal" với một nút:
Mở cổng của tôi
Liên kết có hiệu lực trong 24 giờ và chỉ dùng được một lần. Nếu hết hạn trước khi bạn nhấp, chỉ cần yêu cầu một liên kết mới — không phạt.
Nhấp liên kết sẽ mở badges.ninja/me?token=…. Trang hoán đổi token lấy một token phiên 1 giờ (chỉ lưu trong sessionStorage của trình duyệt, không bao giờ lưu cookie) và chuyển bạn đến tường huy hiệu. Phiên hết hạn khi bạn đóng tab hoặc sau một giờ hoạt động, bên nào tới trước.
Sau khi đăng nhập, cổng hiển thị:
badges.ninja/u/jane-3a4f) — được gợi ý tự động từ phần local của email với 4 ký tự ngẫu nhiên được thêm để đảm bảo duy nhất. Nhấp Đổi để chọn tên đẹp hơn./u/<handle>). Lần cấp vẫn hợp lệ; bạn chỉ chọn liệt kê gì công khai.
Các lần cấp được tải 50 cái một lần. Nếu bạn có nhiều hơn, nút Tải thêm xuất hiện ở cuối; chúng tôi phân trang bằng con trỏ ổn định ở backend, nên thứ tự không thay đổi khi bạn cuộn.
Nút Đăng xuất trên tiêu đề xóa token phiên khỏi sessionStorage. Đóng tab cũng tự động làm điều tương tự.
Sau khi có handle, bất kỳ ai truy cập badges.ninja/u/<handle> sẽ thấy lưới gọn gàng các huy hiệu của bạn, kèm tên hiển thị và số lượng huy hiệu, cùng các thẻ từng huy hiệu mở trang cấp công khai khi nhấp.

Hồ sơ công khai chỉ hiển thị huy hiệu bạn chưa ẩn. Bạn không cần đăng nhập để chia sẻ URL /u/<handle> — nó là trang hoàn toàn công khai mà bạn sở hữu.
Handle phải dài 3–20 ký tự, chỉ a-z 0-9 _ -. Chúng không phân biệt chữ hoa/thường và duy nhất trên toàn badges.ninja. Nếu handle bạn muốn đã được dùng, bạn sẽ nhận lỗi rõ ràng và có thể chọn khác.
Bạn có thể đổi handle bất cứ lúc nào từ cổng — handle mới trở thành URL chính thức ngay lập tức, và handle cũ được mở cho người khác đăng ký. Liên kết chia sẻ bạn đã gửi (/u/old-handle) sẽ không chuyển hướng — chỉ báo "Không tìm thấy hồ sơ".
Ở cuối cổng có liên kết Gỡ dữ liệu của tôi khỏi Badges Ninja. Nó làm những việc sau:
removed:5f3a8b9c…). Bản thân lần cấp vẫn nguyên vẹn (JSON assertion, hình ảnh huy hiệu, bằng chứng blockchain nếu có) nên bạn không làm chứng chỉ mất hiệu lực — đơn vị cấp vẫn giữ huy hiệu của bạn — nhưng bạn trở nên không thể khám phá: tìm email của bạn trong bất kỳ cổng nào đều không có kết quả, và đăng nhập /me không còn tìm thấy lần cấp./u/<handle> trả về 404 và handle được mở cho người khác.Hành động này không thể đảo ngược. Bạn sẽ cần phiên cổng mới (tức là liên kết ma thuật mới) chỉ khi bạn đổi ý trước khi việc dọn dẹp hoàn tất.
Điều này KHÔNG làm
/awards/<guid>) vẫn hợp lệ cho mục đích xác thực — đó là đặc tả.Hai khả năng:
/awards/<guid> trực tiếp.Chưa. Cổng hiện tại chỉ hiển thị huy hiệu được cấp qua badges.ninja. Tổng hợp qua nhiều đơn vị cấp (mô hình "Open Badges Backpack") là mục tiêu lớn của Open Badges đầu những năm 2010, nhưng hệ sinh thái rộng hơn đã chuyển sang LinkedIn làm nhà tổng hợp thực tế. Chúng tôi không có kế hoạch cạnh tranh ở mặt đó.
Có — mọi trang cấp công khai (/awards/<guid>) có nút Thêm vào hồ sơ LinkedIn khi đơn vị cấp đã đặt LinkedIn organization ID của họ. Nút dùng deep-link Add-to-Profile của LinkedIn, nên huy hiệu xuất hiện trực tiếp trong mục Certifications mà không cần sao chép thủ công.
Mỗi trang cấp theo dõi lượt xem, chia sẻ, tải về và lượt nhấp LinkedIn add. Đơn vị cấp thấy các đếm này trên bảng điều khiển của họ; người nhận thấy chúng trên trang cấp công khai. Theo quy ước Credly, danh tính người xem không bao giờ được ghi — chỉ có số đếm.
24 giờ. Sau đó, yêu cầu một liên kết mới — không giới hạn tần suất, không phạt.
1 giờ từ khi đăng nhập. Làm mới trang trong cửa sổ đó sẽ giữ phiên sống; đóng tab sẽ kết thúc nó.
Không. Huy hiệu ẩn được lọc khỏi góc nhìn công khai /u/<handle>. Chúng chỉ hiển thị cho bạn khi bạn đã đăng nhập cổng.
Có — mở bất kỳ huy hiệu nào từ cổng, sau đó dùng các nút Tải PNG (Open Badges baked) hoặc Tải chứng nhận PDF trên trang cấp công khai. Cả hai đều được ký và có thể xác thực theo đặc tả Open Badges v2.
Việc người nhận truy cập cổng không thay đổi gì cho đơn vị cấp — bảng cấp trên bảng điều khiển của đơn vị cấp hoạt động y hệt. Cổng là tính năng cộng thêm thuần túy.
Nếu bạn là đơn vị cấp đang đọc điều này và chưa đặt LinkedIn organization ID, làm ngay bây giờ: Quản lý đơn vị cấp → Thêm vào hồ sơ LinkedIn. Đó là đòn bẩy "tỉ lệ chia sẻ" lớn nhất trên nền tảng.
{ kind: "magic", email, exp } được ký bằng khóa bí mật phía máy chủ luân chuyển qua AWS Secrets Manager (recipient/keys:tokenSecret). Khi xác minh, chúng tôi cấp token { kind: "session", email, exp }. Không có bảng phiên hỗ trợ DB.RECIPIENT_EMAIL_LC-TIMESTAMP trên bảng lần cấp. Email được chuẩn hóa về chữ thường trước khi lưu và tra cứu.EMAIL_LC nên /u/<handle> có thể liệt kê lần cấp mà không cần người nhận đăng nhập. Lần cấp ẩn được lọc phía máy chủ.RECIPIENT_EMAIL_LC của mỗi dòng lần cấp phù hợp thành removed:<random> và loại bỏ thuộc tính RECIPIENT_EMAIL dạng văn bản qua DynamoDB UPDATE. Dòng hồ sơ bị xóa.POST /me/auth/request { email } — gửi email liên kết ma thuậtPOST /me/auth/verify { token } — trả về token phiênGET /me — hồ sơ + trang lần cấp đầu tiên (Bearer)GET /me/awards?lastEvaluatedKey=… — phân trang (Bearer)PUT /me/handle { handle } — đặt/đổi handle (Bearer)PUT /me/awards/{guid}/visibility { hidden: bool } — bật/tắt ẩn (Bearer)POST /me/auth/forget — gỡ liên kết GDPR (Bearer)GET /u/{handle} — hồ sơ công khai (không xác thực)