Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?

Đăng nhập một lần là cơ chế cho phép bạn xác thực người dùng trong hệ thống của mình và sau đó thông báo cho Zendesk rằng người dùng đã được xác thực. Nếu bạn sử dụng đăng nhập một lần bằng Mã thông báo web JSON (JWT), người dùng sẽ tự động được xác minh với nhà cung cấp danh tính khi họ đăng nhập. Sau đó, người dùng được phép truy cập Zendesk mà không được nhắc nhập thông tin xác thực đăng nhập riêng

Là quản trị viên Zendesk, vai trò của bạn bao gồm kích hoạt các tùy chọn SSO. Bài viết này mô tả cách bật tối đa hai cấu hình đăng nhập một lần JWT có thể được sử dụng để xác thực các thành viên trong nhóm (quản trị viên và đại lý, bao gồm cả đại lý nhẹ và cộng tác viên), người dùng cuối hoặc cả hai

Cốt lõi của đăng nhập một lần là cơ chế bảo mật cho phép Zendesk tin tưởng các yêu cầu đăng nhập mà Zendesk nhận được từ hệ thống của bạn. Zendesk chỉ cấp quyền truy cập cho những người dùng đã được bạn xác thực. Zendesk SSO dựa vào JWT để bảo mật việc trao đổi dữ liệu xác thực người dùng

Bài viết này bao gồm các phần sau

Nhóm CNTT trong một công ty thường chịu trách nhiệm thiết lập và quản lý hệ thống xác thực JWT của công ty. Vai trò của họ là triển khai SSO cho Zendesk trên hệ thống. Giới thiệu nhóm đến chủ đề sau trong bài viết này

Những bài viết liên quan

  • Tùy chọn đăng nhập một lần (SSO) trong Zendesk
  • Bật đăng nhập một lần SAML

JWT SSO cho Zendesk hoạt động như thế nào

Sau khi bạn bật SSO, các yêu cầu đăng nhập sẽ được chuyển đến một trang đăng nhập bên ngoài Bộ phận hỗ trợ của Zendesk

Các bước của quy trình xác thực JWT SSO

  1. Người dùng chưa được xác thực điều hướng đến URL hỗ trợ Zendesk của bạn. Thí dụ. https. // tên miền phụ của bạn. zendesk. com/
  2. Cơ chế SSO của Zendesk nhận ra rằng SSO đã được bật và người dùng chưa được xác thực
  3. Zendesk cố gắng xác định xem người dùng chưa được xác thực là người dùng cuối hay thành viên nhóm và chuyển hướng người dùng đến trang đăng nhập từ xa thích hợp của tổ chức bạn. Thí dụ. https. //công ty của tôi. com/zendesk/sso
  4. Tập lệnh trên máy chủ từ xa xác thực người dùng bằng quy trình đăng nhập độc quyền của tổ chức bạn
  5. Hệ thống xác thực xây dựng yêu cầu JWT chứa dữ liệu người dùng có liên quan
  6. Hệ thống xác thực chuyển hướng người dùng đến điểm cuối Zendesk sau với tải trọng JWT

    https. // tên miền phụ của bạn. zendesk. com/truy cập/jwt

  7. Zendesk phân tích chi tiết người dùng từ tải trọng JWT và sau đó cấp cho người dùng một phiên

Như bạn có thể thấy, quá trình này dựa trên chuyển hướng của trình duyệt và chuyển các tin nhắn đã ký bằng JWT. Việc chuyển hướng diễn ra hoàn toàn trong trình duyệt và không có kết nối trực tiếp giữa Zendesk và hệ thống của bạn, vì vậy bạn có thể giữ các tập lệnh xác thực của mình một cách an toàn sau tường lửa của công ty

Yêu cầu để kích hoạt JWT SSO

Gặp gỡ nhóm trong công ty của bạn chịu trách nhiệm về hệ thống xác thực JWT (thường là nhóm CNTT) để đảm bảo rằng lưu lượng truy cập đến Zendesk qua HTTPS, không phải HTTP

Bạn sẽ cần thông tin sau để định cấu hình phương thức JWT SSO trong Zendesk. Nhóm CNTT của bạn sẽ có thể cung cấp điều này cho bạn

  • URL đăng nhập từ xa nơi người dùng Zendesk sẽ được chuyển hướng khi họ cố gắng truy cập Zendesk
  • (Tùy chọn) URL đăng xuất từ ​​xa nơi Zendesk có thể chuyển hướng người dùng sau khi họ đăng xuất khỏi Zendesk
  • (Tùy chọn) Danh sách các dải IP để chuyển hướng người dùng đến tùy chọn đăng nhập thích hợp. Người dùng đưa ra yêu cầu từ các dải IP đã chỉ định sẽ được chuyển đến biểu mẫu đăng nhập xác thực JWT từ xa. Người dùng đưa ra yêu cầu từ các địa chỉ IP bên ngoài phạm vi được chuyển đến biểu mẫu đăng nhập Zendesk thông thường. Nếu bạn không chỉ định một phạm vi, tất cả người dùng sẽ được chuyển hướng đến biểu mẫu đăng nhập xác thực từ xa

Nhóm CNTT có thể yêu cầu thông tin bổ sung từ Zendesk để định cấu hình triển khai JWT. Tham khảo chúng trong bài viết này

Sau khi bạn xác nhận rằng bạn đáp ứng các yêu cầu và có tất cả thông tin cần thiết, bạn đã sẵn sàng để

Kích hoạt JWT SSO

Quản trị viên chỉ có thể bật đăng nhập một lần SAML cho người dùng cuối, chỉ cho các thành viên trong nhóm (bao gồm cả đại lý nhẹ và cộng tác viên) hoặc cho cả hai nhóm. Bạn có thể tạo tối đa hai cấu hình JWT SSO. Trước khi bạn bắt đầu, hãy lấy thông tin bắt buộc từ nhóm CNTT của công ty bạn. Thấy

Để bật đăng nhập một lần JWT

  1. Trong , nhấp vào
    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
    Tài khoản trong thanh bên, sau đó chọn Bảo mật > Đăng nhập một lần.
  2. Nhấp vào Tạo cấu hình SSO rồi chọn Mã thông báo web JSON
  3. Nhập tên Cấu hình duy nhất
  4. Đối với URL đăng nhập từ xa, hãy nhập URL nơi người dùng của bạn sẽ được chuyển hướng khi họ cố gắng truy cập URL Zendesk của bạn

    Zendesk tự động thêm tham số brand_id vào URL. Đây là nhãn hiệu Hỗ trợ Zendesk mà người dùng đã sử dụng khi họ cố gắng đăng nhập

  5. (Tùy chọn) Đối với URL đăng xuất từ ​​xa, URL đăng xuất nơi người dùng sẽ được chuyển hướng sau khi họ đăng xuất khỏi Zendesk

    Zendesk tự động thêm các tham số email, external_id và brand_id vào URL đăng xuất. Nếu bạn không muốn có thông tin email và id bên ngoài trong URL, hãy chỉ định tham số trống trong URL đăng xuất. Thí dụ

    https. //www. XYZ. com/user/signout/?email=&external_id=

    Ghi chú. Nếu bạn đang sử dụng Ember. js, bạn cần sửa đổi URL đăng xuất để sử dụng các tham số trống trước hàm băm. Ví dụ, https://somedomain.com/?brand_id=&return_to=&email=#/zendesk-login/.

  6. (Tùy chọn) Đối với dải IP, hãy nhập danh sách dải IP nếu bạn muốn chuyển hướng người dùng đến tùy chọn đăng nhập thích hợp

    Người dùng đưa ra yêu cầu từ các dải IP đã chỉ định sẽ được chuyển đến biểu mẫu đăng nhập xác thực JWT. Người dùng đưa ra yêu cầu từ các địa chỉ IP bên ngoài phạm vi được chuyển đến biểu mẫu đăng nhập Zendesk thông thường. Không chỉ định phạm vi nếu bạn muốn tất cả người dùng được chuyển hướng đến biểu mẫu đăng nhập xác thực JWT

  7. Nếu bạn sử dụng ID bên ngoài cho người dùng của mình, bạn có thể cập nhật những ID này trong Hỗ trợ Zendesk bằng cách chọn Bật cho Cập nhật id bên ngoài?
  8. Cung cấp Bí mật được chia sẻ cho nhóm CNTT của bạn. Họ sẽ cần nó để triển khai JWT

    Quan trọng. Giữ bí mật được chia sẻ an toàn. Nếu nó bị xâm phạm, tất cả dữ liệu trong tài khoản Hỗ trợ của bạn sẽ gặp rủi ro.

  9. Khi cấu hình JWT SSO của bạn được đặt, hãy nhấp vào Đã bật để bạn có thể chỉ định tùy chọn này cho người dùng
  10. Nhấp vào để lưu

Chỉ định JWT SSO cho người dùng

Sau khi tạo cấu hình JWT SSO, bạn phải kích hoạt nó bằng cách gán nó cho người dùng cuối, thành viên nhóm hoặc cả hai

Để chỉ định cấu hình SSO cho thành viên nhóm hoặc người dùng cuối

  1. Mở cài đặt Bảo mật cho thành viên nhóm hoặc người dùng cuối
    • Trong , nhấp vào
      Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
      Tài khoản trong thanh bên, sau đó chọn Bảo mật > Xác thực thành viên nhóm.
    • Trong , nhấp vào
      Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
      Tài khoản trong thanh bên, sau đó chọn Bảo mật > Xác thực người dùng cuối.
  2. Nếu bạn đang chỉ định cấu hình SSO cho các thành viên trong nhóm, hãy chọn Xác thực bên ngoài để hiển thị các tùy chọn xác thực

    Các tùy chọn này đã được hiển thị cho người dùng cuối

  3. Nhấp vào tùy chọn Đăng nhập một lần (SSO) trong phần Xác thực bên ngoài, sau đó chọn (các) tên của (các) cấu hình SSO mà bạn muốn sử dụng

    Đối với người dùng cuối, việc chọn tùy chọn SSO sẽ tự động bỏ chọn tùy chọn Xác thực Zendesk nếu được bật. Đối với các thành viên trong nhóm, đăng nhập một lần có thể không bao gồm tất cả các trường hợp sử dụng, vì vậy xác thực Zendesk vẫn hoạt động theo mặc định. Ví dụ: cần có mật khẩu Zendesk để truy cập tài khoản Hỗ trợ của bạn từ nhiều tích hợp Zendesk hoặc để sử dụng API Zendesk hoặc khung Ứng dụng. Để tắt xác thực Zendesk, hãy xem

  4. Nhấp vào để lưu

Để chỉ cho phép các thành viên trong nhóm sử dụng xác thực SSO

  1. Trong , nhấp vào
    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
    Tài khoản trong thanh bên, sau đó chọn Bảo mật > Xác thực thành viên nhóm.
  2. Bỏ chọn tùy chọn xác thực Zendesk và nhấp vào Lưu

    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?

    Tất cả mật khẩu Zendesk sẽ bị xóa vĩnh viễn khỏi tài khoản trong vòng 24 giờ

  3. Trong , nhấp vào
    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
    Tài khoản trong thanh bên, sau đó chọn Bảo mật > Nâng cao.
  4. Nhấp vào tab Xác thực rồi chọn một tùy chọn bỏ qua SSO

    Bạn có thể chọn chỉ chủ sở hữu Tài khoản hoặc tất cả Quản trị viên (bao gồm cả chủ sở hữu tài khoản) mới có thể được cấp quyền truy cập vào tài khoản trong trường hợp nhà cung cấp dịch vụ đăng nhập bên ngoài ngừng hoạt động

    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?

    Để có quyền truy cập, chủ sở hữu tài khoản hoặc quản trị viên yêu cầu nhận email chứa liên kết truy cập một lần. Nhấp vào liên kết sẽ cấp cho người đó quyền truy cập vào tài khoản. Không cần mật khẩu. Thấy

  5. Nhấp vào để lưu

Quản lý người dùng trong Zendesk sau khi bật JWT SSO

Sau khi bật đăng nhập một lần JWT trong Zendesk, những thay đổi được thực hiện cho người dùng bên ngoài Zendesk sẽ đồng bộ hóa với tài khoản Zendesk của bạn. Ví dụ: nếu một người dùng được thêm vào hệ thống nội bộ của bạn, thì người dùng đó sẽ tự động được thêm vào tài khoản Zendesk của bạn. Nếu một người dùng bị xóa trong hệ thống nội bộ của bạn, thì người dùng đó sẽ không thể đăng nhập vào Zendesk nữa. Tuy nhiên, tài khoản của họ sẽ vẫn tồn tại trong Zendesk

Theo mặc định, dữ liệu người dùng duy nhất được lưu trữ trong Zendesk khi đăng nhập một lần được bật là tên và địa chỉ email của người dùng. Zendesk không lưu trữ mật khẩu. Do đó, bạn nên tắt mọi thông báo email tự động từ Zendesk về mật khẩu. Thấy

Để cung cấp trải nghiệm khách hàng tốt hơn, bạn có thể muốn lưu trữ nhiều thứ hơn là chỉ tên và địa chỉ email của người dùng trong Zendesk. Bạn có thể làm điều này bằng cách sử dụng

Vô hiệu hóa email thông báo mật khẩu từ Zendesk

Khi một người dùng được thêm vào tài khoản Zendesk, một thông báo email tự động có thể được gửi tới người dùng yêu cầu họ xác minh địa chỉ email của họ và tạo tên người dùng và mật khẩu

Hồ sơ người dùng Zendesk được tạo cho bất kỳ người dùng mới nào truy cập vào tài khoản Zendesk của bạn thông qua SAML hoặc JWT. Vì họ được xác thực bằng mật khẩu không phải của Zendesk nên hồ sơ được tạo mà không cần mật khẩu vì họ không cần đăng nhập vào Zendesk. Tuy nhiên, theo mặc định, mọi người dùng mới đều nhận được email thông báo xác minh địa chỉ email của họ và tạo tên người dùng và mật khẩu

Để ngăn điều này xảy ra, hãy nhớ bỏ chọn các tùy chọn sau

  1. Trong , nhấp vào
    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
    Mọi người trong thanh bên, sau đó chọn Cấu hình > Người dùng cuối.
  2. Trong phần Email tài khoản, bỏ chọn Đồng thời gửi e-mail chào mừng khi người dùng mới được tạo bởi một đại lý hoặc quản trị viên
  3. Trong Cho phép người dùng thay đổi mật khẩu của họ, hãy bỏ chọn tùy chọn này

Tạo một bí mật được chia sẻ mới

Trong một số trường hợp, chẳng hạn như nếu bí mật của bạn bị xâm phạm, bạn có thể cần phát hành một bí mật được chia sẻ JWT mới và cung cấp bí mật đó cho nhóm CNTT hoặc nhà cung cấp danh tính bên ngoài của bạn. Bạn có thể tạo bí mật chia sẻ JWT mới từ Trung tâm quản trị Zendesk. Hành động này sẽ tạo một bí mật mới và làm mất hiệu lực của bí mật cũ. Bạn sẽ cần thông báo cho nhóm CNTT hoặc nhà cung cấp nhận dạng bên ngoài về bí mật được chia sẻ mới của mình để đảm bảo xác thực tài khoản Zendesk SSO hoạt động

Quan trọng. Người dùng không thể xác thực bằng JWT SSO cho đến khi có bí mật mới. Đảm bảo người dùng của bạn có phương thức xác thực dự phòng trong thời gian này.

Để tạo một bí mật được chia sẻ mới

  1. Trong , nhấp vào
    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
    Tài khoản trong thanh bên, sau đó chọn Bảo mật > Đăng nhập một lần.
  2. Di chuột qua cấu hình JWT mà bạn muốn tạo bí mật dùng chung mới, sau đó nhấp vào biểu tượng menu tùy chọn (
    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?
    ) và chọn Chỉnh sửa.
  3. Cuộn đến Bí mật được chia sẻ ở cuối trang cấu hình và nhấp vào Đặt lại bí mật

    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?

    Một thông báo xác nhận xuất hiện

    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?

  4. Nhấp vào Đặt lại bí mật để xác nhận đặt lại

    Bạn sẽ thấy một Bí mật được chia sẻ mới ở dạng văn bản thuần túy

    Làm cách nào tôi có thể sử dụng JWT mà không cần đăng nhập?

  5. Nhấp vào Sao chép để tạo một bản sao của bí mật được chia sẻ mới và đưa nó cho nhóm CNTT hoặc nhà cung cấp danh tính bên ngoài của bạn
  6. Lưu các thay đổi của bạn

Chuyển đổi phương thức xác thực

Điều quan trọng cần lưu ý là nếu bạn sử dụng phương thức SSO của bên thứ ba để tạo và xác thực người dùng trong Zendesk, sau đó chuyển sang xác thực Zendesk, thì những người dùng này sẽ không có sẵn mật khẩu để đăng nhập. Hướng dẫn người dùng đặt lại mật khẩu của họ từ trang đăng nhập Zendesk để có quyền truy cập

Thông tin bổ sung về JWT

JWT là một tiêu chuẩn mở đang được thúc đẩy bởi cơ quan tiêu chuẩn quốc tế IETF và có những người ủng hộ cấp cao nhất từ ​​lĩnh vực công nghệ (ví dụ: Microsoft, Facebook và Google)

Các khối xây dựng cơ bản của JWT là các thành phần được hiểu rất rõ và kết quả của việc này là một thông số kỹ thuật khá đơn giản, có sẵn tại đây http. //công cụ. vietf. org/html/draft-jones-json-web-token-10. Có rất nhiều triển khai nguồn mở của thông số JWT bao gồm hầu hết các công nghệ hiện đại. Điều này có nghĩa là bạn có thể thiết lập đăng nhập một lần JWT mà không gặp nhiều khó khăn

Một điều cần lưu ý là tải trọng JWT chỉ được mã hóa và ký, không được mã hóa, vì vậy đừng đưa bất kỳ dữ liệu nhạy cảm nào vào bảng băm. JWT hoạt động bằng cách tuần tự hóa JSON đang được truyền thành một chuỗi. Chuỗi được mã hóa Base64 và sau đó JWT tạo HMAC của chuỗi Base64 phụ thuộc vào bí mật được chia sẻ. Điều này tạo ra một chữ ký mà phía người nhận có thể sử dụng để xác thực người dùng

Phiếu triển khai kỹ thuật

Phần này dành cho nhóm trong công ty chịu trách nhiệm về hệ thống xác thực JWT của công ty. Nó cung cấp thông tin chi tiết về việc triển khai Zendesk JWT SSO

Ghi chú. Nếu bạn đang nâng cấp từ phiên bản Zendesk SSO cũ hơn (được gọi là Xác thực từ xa Zendesk) lên JWT, bạn có thể bật nhiều triển khai SSO cùng một lúc. Zendesk nhận ra nếu một yêu cầu dành cho JWT hoặc một loại SSO khác và sẽ xử lý yêu cầu tương ứng. Điều này có nghĩa là bạn có thể bật và kiểm tra JWT trước khi hủy kích hoạt triển khai SSO trước đó của mình.

Các chủ đề được đề cập

thuật toán JWT

Chỉ định HS256 làm thuật toán JWT trong tiêu đề của tải trọng JWT của bạn

{
  "typ":"JWT",
  "alg":"HS256"
}

HS256 là viết tắt của HMAC SHA 256, một thuật toán mã hóa 256-bit được thiết kế bởi U. S. cơ quan an ninh Quốc gia

Ghi chú. Zendesk không hỗ trợ thuật toán RS256 và ES256 JWT.

Điểm cuối Zendesk JWT

Sau khi xác thực thành công người dùng, hãy chuyển hướng người dùng cùng với tải trọng JWT đến điểm cuối Zendesk sau

https. // tên miền phụ của bạn. zendesk. com/truy cập/jwt

Tải trọng phải được mã hóa base64 và được thêm vào URL dưới dạng chuỗi truy vấn

Tải trọng JWT phải được gửi đến tên miền phụ Hỗ trợ Zendesk của bạn bằng giao thức https. Thí dụ

https://yoursubdmain.zendesk.com/access/jwt?jwt={payload} 

Tên miền phụ được ánh xạ trên máy chủ không được hỗ trợ

thuộc tính JWT

Gửi các thuộc tính tới Zendesk dưới dạng hàm băm được mã hóa base64 (Ruby) hoặc từ điển (Python). Ví dụ sử dụng Ruby

payload = JWT.encode({
   :email => "[email protected]", :name => "Bob", :iat => Time.now.to_i, :jti => rand(2<<64).to_s
}, "Our shared secret")

Zendesk yêu cầu một địa chỉ email để nhận dạng duy nhất người dùng. Ngoài các thuộc tính bắt buộc được liệt kê trong bảng bên dưới, bạn có thể tùy chọn gửi thêm dữ liệu hồ sơ người dùng. Dữ liệu này được đồng bộ hóa giữa hệ thống quản lý người dùng của bạn và Bộ phận hỗ trợ của Zendesk

Required attributesAttributeDescriptioniatIssued At. Thời gian mã thông báo được tạo, điều này được sử dụng để giúp đảm bảo rằng một mã thông báo nhất định sẽ được sử dụng ngay sau khi được tạo. Giá trị phải là số giây kể từ khi. Zendesk cho phép lệch đồng hồ tối đa ba phút, vì vậy hãy đảm bảo định cấu hình NTP hoặc tương tự trên máy chủ của bạn. ID mã thông báo web jtiJSON. Một id duy nhất cho mã thông báo, được Zendesk sử dụng để ngăn chặn các cuộc tấn công phát lại mã thông báo. emailEmail của người dùng đang đăng nhập, được sử dụng để nhận dạng duy nhất bản ghi người dùng trong Hỗ trợ Zendesk. name Tên của người dùng này. Người dùng trong bộ phận Hỗ trợ của Zendesk sẽ được tạo hoặc cập nhật theo quy định này

Thuộc tính người dùng tùy chọnAttributeDescriptionexternal_idNếu người dùng của bạn được nhận dạng duy nhất bằng một thứ khác ngoài địa chỉ email và địa chỉ email của họ có thể thay đổi, hãy gửi id duy nhất từ ​​hệ thống của bạn. Chỉ định id dưới dạng chuỗi. ngôn ngữ (dành cho người dùng cuối)

locale_id (dành cho đại lý)

Ngôn ngữ trong Hỗ trợ Zendesk, được chỉ định dưới dạng số. tổ chức Tên của một tổ chức để thêm người dùng vào

Nếu tùy chọn Cho phép người dùng thuộc về nhiều tổ chức được bật, các tổ chức bổ sung sẽ nối thêm tổ chức ban đầu và được coi là tổ chức thứ cấp. Điều này không xóa các thành viên hiện có

Nếu bạn muốn chuyển nhiều tên tổ chức cùng một lúc, hãy sử dụng thuộc tính tổ chức để thay thế. Tên tổ chức phải được truyền trong một chuỗi, được phân tách bằng dấu phẩy

organization_idID bên ngoài của tổ chức trong Zendesk API. Nếu cả tổ chức và tổ chức_id đều được cung cấp, thì tổ chức sẽ bị bỏ qua

Nếu tùy chọn Cho phép người dùng thuộc về nhiều tổ chức được bật, các tổ chức bổ sung sẽ nối thêm tổ chức ban đầu và được coi là tổ chức thứ cấp. Điều này không xóa các thành viên hiện có

Nếu bạn muốn chuyển nhiều ID tổ chức cùng một lúc, hãy sử dụng thuộc tính organization_ids để thay thế. ID tổ chức phải được chuyển thành một chuỗi, được phân tách bằng dấu phẩy

phoneMột số điện thoại, được chỉ định dưới dạng một chuỗi. tagsĐây là một mảng JSON của các thẻ để đặt cho người dùng. Các thẻ này sẽ thay thế bất kỳ thẻ nào khác có thể tồn tại trong hồ sơ của người dùng. remote_photo_urlURL để đặt ảnh trên hồ sơ người dùng. roleVai trò của người dùng. Có thể được đặt thành "người dùng", "tác nhân" hoặc "quản trị viên". Mặc định là "người dùng". Nếu vai trò của người dùng khác với vai trò trong Hỗ trợ Zendesk, thì vai trò đó sẽ được thay đổi trong Hỗ trợ Zendesk. custom_role_idChỉ áp dụng nếu vai trò của người dùng là tổng đài viên. user_fields

Hàm băm JSON của khóa và giá trị trường người dùng tùy chỉnh để đặt cho người dùng. Trường người dùng tùy chỉnh phải tồn tại để đặt giá trị trường. Mỗi trường người dùng tùy chỉnh được xác định bằng khóa trường được tìm thấy trong cài đặt quản trị trường người dùng. Định dạng của giá trị ngày là yyyy-mm-dd

Nếu khóa hoặc giá trị của trường người dùng tùy chỉnh không hợp lệ, việc cập nhật trường sẽ không thành công và người dùng vẫn đăng nhập thành công. Để biết thêm thông tin về các trường người dùng tùy chỉnh, hãy xem Thêm trường tùy chỉnh cho người dùng

Ghi chú. Việc gửi các giá trị null trong thuộc tính user_fields sẽ xóa mọi giá trị hiện có trong các trường tương ứng.

Tham số URL đăng nhập từ xa (return_to)

Việc bạn có chuyển tham số return_to hay không là tùy chọn, nhưng chúng tôi khuyên bạn nên sử dụng nó để có trải nghiệm người dùng tốt nhất. Khi Zendesk chuyển hướng người dùng đến trang đăng nhập từ xa của bạn, nó có thể chuyển tham số return_to URL. Tham số chứa trang mà Zendesk sẽ trả về người dùng sau khi hệ thống của bạn đã xác thực người dùng. Nối tên và giá trị tham số vào điểm cuối Zendesk JWT

Ví dụ: giả sử một nhân viên đã đăng xuất nhấp vào liên kết sau để mở một yêu cầu trong Hỗ trợ. https. //công ty của tôi. zendesk. com/vé/1232. Dòng chảy như sau

  1. Khi nhấp chuột, Zendesk chuyển hướng người dùng đến URL đăng nhập từ xa của bạn và nối tham số return_to sau vào URL.
    https://mycompany.com/zendesk/sso?return_to=https://mycompany.zendesk.com/tickets/123
  2. Hệ thống xác thực của bạn lấy tham số return_to từ URL và sau khi xác thực thành công người dùng, sẽ thêm tham số đó vào điểm cuối JWT của Zendesk. Thí dụ.
    https://mycompany.zendesk.com/access/jwt?jwt=payload&return_to=https://mycompany.zendesk.com/tickets/123
  3. Zendesk sử dụng tham số để mở trang yêu cầu cho tổng đài viên

Tham số return_to là một URL tuyệt đối cho giao diện tổng đài viên và một URL tương đối cho Trung tâm trợ giúp

Ghi chú. Nếu địa chỉ return_to của bạn chứa các tham số URL riêng, hãy đảm bảo rằng URI tập lệnh của bạn mã hóa toàn bộ giá trị return_to khi gửi mã thông báo JWT.

xử lý lỗi

Nếu Zendesk gặp lỗi trong khi xử lý yêu cầu đăng nhập JWT, nó sẽ gửi một thông báo giải thích sự cố. Nếu bạn đã chỉ định một URL đăng xuất từ ​​xa khi định cấu hình tích hợp JWT, thì nó sẽ chuyển hướng đến URL đó và chuyển một thông báo cùng một tham số loại. Trong trường hợp có lỗi, tham số loại luôn có giá trị "lỗi". Zendesk khuyên bạn nên chỉ định URL đăng xuất từ ​​xa, cũng như ghi nhật ký tin nhắn từ Zendesk cùng với loại. Hầu hết các lỗi có thể xảy ra là những lỗi mà bạn muốn sửa. Các ví dụ bao gồm trôi đồng hồ, giới hạn tốc độ bị ảnh hưởng và mã thông báo không hợp lệ

Ví dụ mã triển khai JWT

Việc triển khai JWT thực tế rất đơn giản và hầu hết các ngôn ngữ hiện đại đều có thư viện hỗ trợ nó. Zendesk cung cấp một loạt ví dụ cho các ngăn xếp khác nhau trong kho lưu trữ JWT SSO GitHub sau đây

  • https. //github. com/zendesk/zendesk_jwt_sso_examples

Nếu bạn triển khai JWT trong bất kỳ ngăn xếp nào khác, chúng tôi cũng muốn đưa ra một ví dụ về điều đó ở đó. Thêm một bình luận cho bài viết này để chia sẻ những gì bạn đã thực hiện

Trong trường hợp bạn chạy IIS/AD và không muốn xây dựng IIS/AD của riêng mình. NET, chúng tôi cung cấp triển khai đầy đủ trong ASP cổ điển, yêu cầu bạn chỉ điều chỉnh một vài biến. Tải xuống tập lệnh xác thực ASP từ Github

Chúng tôi có thể sử dụng JWT mà không cần xác thực không?

JWT có thể được sử dụng làm cơ chế xác thực không yêu cầu cơ sở dữ liệu . Máy chủ có thể tránh sử dụng cơ sở dữ liệu vì kho lưu trữ dữ liệu trong JWT được gửi tới máy khách là an toàn.

JWT có luôn được ký không?

Mã thông báo Web JSON (JWT) là một tiêu chuẩn mở (RFC 7519) xác định một cách nhỏ gọn và độc lập để truyền thông tin một cách an toàn giữa các bên dưới dạng đối tượng JSON. Thông tin này có thể được xác minh và tin cậy vì thông tin được ký điện tử .

Có thể hack JWT không?

Thực sự có một lý do khá chính đáng cho việc áp dụng rộng rãi này và phần lớn đó là do tính bảo mật và khả năng phục hồi. Tuy nhiên, giống như bất kỳ công nghệ nào, JWT không tránh khỏi việc bị hack . Trong bài đăng này, tôi sẽ chỉ cho bạn chính xác cách thực hiện điều này bằng cách sử dụng bộ công cụ bảo mật trực tuyến đơn giản của chúng tôi - tất nhiên rồi.

Có ai có thể đọc mã thông báo JWT không?

JWT có thể được ký, mã hóa hoặc cả hai. Nếu mã thông báo được ký, nhưng không được mã hóa, mọi người có thể đọc nội dung của nó , nhưng khi bạn không biết khóa riêng tư, bạn không thể thay đổi .