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
    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ụ, //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
      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
      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
    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

    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
    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

    Để 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
    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
    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 [
    ] 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

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

  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

  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ụ

//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 => "bob@example.com", :name => "Bob", :iat => Time.now.to_i, :jti => rand[2

Chủ Đề