Mã thông báo truy cập so với mã thông báo làm mới

Bạn đã bao giờ tự hỏi sẽ tuyệt vời thế nào nếu một ứng dụng biết bạn đang cố truy cập nó mà không cần phải xác thực lại thông tin đăng nhập của bạn nhiều lần chưa?

Giả sử bạn thử truy cập ứng dụng sau một hoặc hai ngày, hoặc thậm chí sau cả tuần và bằng cách nào đó. thật kỳ diệu [không hẳn là xD] hệ thống chỉ biết đó là bạn

Hơn nữa, khía cạnh Bảo mật của ứng dụng hoàn toàn mạnh mẽ, không cá nhân nào khác có mục đích xấu có thể truy cập thông tin bí mật. Giờ đây, đó là âm nhạc đến tai nhà phát triển -- hoặc ít nhất là một cách mạnh mẽ để bảo mật các ứng dụng và hệ thống trên quy mô lớn

Trước khi tìm hiểu bí quyết về mã thông báo làm mới, trước tiên hãy hiểu tại sao nó lại cần thiết

Cách tiếp cận thông thường của ứng dụng bảo mật

Nhiều ứng dụng sử dụng cái gọi là xác thực dựa trên mã thông báo để cho phép người dùng truy cập thông tin [hoặc tài nguyên] thường không có sẵn cho công chúng [người dùng chưa được xác thực]

Mã thông báo là sự chấp thuận duy nhất được cấp cho bạn [giống chữ ký điện tử hơn] để truy cập bất kỳ tài nguyên nào. Ứng dụng sẽ cấp nó cho bạn sau khi bạn đã xác thực chính mình bằng thông tin đăng nhập hợp lệ. Những mã thông báo này thường tồn tại trong thời gian ngắn, tôi. e. , chỉ có hiệu lực trong một khoảng thời gian ngắn [ví dụ 5-15 phút]. Điều này đủ để bạn thực hiện một nhiệm vụ cụ thể yêu cầu xác thực nhưng lại khiến những cá nhân có ý định xấu khó có được các tài nguyên bí mật hơn. Bây giờ, cho đến khi mã thông báo hết hạn, người dùng sẽ không phải nhập lại thông tin đăng nhập

Loại hệ thống này được sử dụng rộng rãi để thực hiện các giao dịch trực tuyến trong đó bảo mật là vô cùng quan trọng. Tuy nhiên, do tính chất tồn tại trong thời gian ngắn của các mã thông báo truy cập như vậy, người dùng sẽ phải tự xác thực lại để được cấp lại mã thông báo truy cập mới

Làm mới mã thông báo để giải cứu

Chúng ta có thể thấy rõ rằng về tổng thể, mã thông báo truy cập mang lại khả năng bảo mật tốt hơn nhưng lại cản trở trải nghiệm người dùng [UX] của ứng dụng. Hãy tưởng tượng bạn phải đăng nhập lại nhiều lần chỉ vì ứng dụng phải đảm bảo rằng bạn vẫn ổn. bạn

Đây là nơi các mã thông báo làm mới đến để giải cứu. Mã thông báo làm mới chỉ giúp bạn xác thực lại người dùng mà không cần họ phải nhập lại thông tin đăng nhập nhiều lần. Mã thông báo truy cập được cấp lại, với điều kiện mã thông báo làm mới là mã hợp lệ yêu cầu quyền truy cập tài nguyên bí mật. Phương pháp này cung cấp trải nghiệm người dùng nâng cao trong khi vẫn giữ giao diện bảo mật mạnh mẽ

OAuth 2. 0 là một khung xác thực phổ biến về cơ bản cho phép các ứng dụng khách truy cập tài nguyên do các ứng dụng và máy chủ khác cung cấp thay mặt cho người dùng. Kiến trúc này tận dụng lợi ích của việc sử dụng mã thông báo truy cập và làm mới

Bây giờ, đã thảo luận về tác động của mã thông báo làm mới đối với việc nâng cao trải nghiệm người dùng của ứng dụng, liệu có bất kỳ lợi ích nào khác khi sử dụng chúng không?

Đúng là nói chung, các ứng dụng web và SPA [Ứng dụng một trang] có nghĩa là có quyền truy cập ngắn hạn vào bất kỳ tài nguyên nào tận dụng xác thực. Khi bạn cần truy cập vào tài nguyên sau một vài ngày, bạn chắc chắn có thể đăng nhập lại, phải không?

Khi nào nên sử dụng Mã thông báo làm mới?

Mục đích chính của việc sử dụng mã thông báo làm mới là rút ngắn đáng kể tuổi thọ của mã thông báo truy cập. Sau đó, mã thông báo làm mới có thể được sử dụng để xác thực người dùng và khi được ứng dụng yêu cầu mà không gặp sự cố như cookie bị chặn, v.v. Nếu điều đó không có nhiều ý nghĩa, hãy nghĩ về nó theo cách này

Khi trình duyệt đưa ra yêu cầu tới điểm cuối API để sử dụng tài nguyên chỉ được cung cấp cho người dùng được xác thực, ứng dụng sẽ yêu cầu thông tin đăng nhập của người dùng. Và khi xác thực [đăng nhập] thì ứng dụng trên trình duyệt của người dùng được cấp quyền truy cập tài nguyên. Quyền truy cập này được cung cấp bằng cách chia sẻ mã thông báo truy cập với trình duyệt của người dùng để các lệnh gọi API tiếp theo từ trình duyệt -- yêu cầu thông tin đăng nhập -- có thể được gửi mà không gặp rắc rối nào

Hiện tại, trong quá trình chia sẻ mã thông báo truy cập với người dùng, hệ thống cũng có thể cung cấp mã thông báo làm mới để sau này xác thực người dùng trong khi thực hiện các lệnh gọi API tiếp theo -- ngay cả khi mã thông báo truy cập đã hết hạn -- bằng cách yêu cầu mã thông báo truy cập mới

Do đó, mã thông báo làm mới cho phép các ứng dụng nhận mã thông báo truy cập mới chỉ sử dụng lệnh gọi API mà không cần người dùng phê duyệt cookie, đăng nhập nhiều lần, v.v.

Hạn chế và cách để chinh phục

Cũng đúng là bạn có thể không cần "siêu năng lực bổ sung" được cung cấp bởi mã thông báo làm mới để giữ cho phiên người dùng và trải nghiệm mượt mà. Xét cho cùng, các phương pháp như cookie và xác thực im lặng cũng có lợi theo cách riêng của chúng. Hãy nói về một kịch bản khi mã thông báo làm mới thực sự có thể trở thành kryptonite của ứng dụng. [không hẳn xD]

Nếu mã thông báo làm mới bị xâm phạm [ai đó đã có trong tay hoặc thậm chí tệ hơn -- đánh cắp mã thông báo đó], thì cá nhân đó không chỉ có quyền truy cập vào các tài nguyên do API cung cấp mà còn cả lượng thời gian quyền truy cập đã được cấp. . Bây giờ, đó là một kịch bản đáng sợ cho cả nhà phát triển và người dùng

Phải nói rằng, các biện pháp đối phó như Xoay vòng mã thông báo làm mới và Phát hiện tái sử dụng tự động giúp hạn chế bản chất phá hoại -- và làm nổi bật lợi ích của những mã thông báo làm mới này

Trong các phương pháp như vậy, khi mã thông báo làm mới được sử dụng để truy cập bất kỳ tài nguyên nào, hệ thống không chỉ phản hồi bằng mã thông báo truy cập mà còn bằng mã thông báo làm mới mới. Mọi yêu cầu API tiếp theo có thể được thực hiện thông qua mã thông báo làm mới mới hơn từ đó trở đi. Nếu một yêu cầu được thực hiện bằng cách sử dụng mã thông báo làm mới cũ hơn, thì yêu cầu đó sẽ bị từ chối một cách hiệu quả [giả sử người/khách hàng yêu cầu không được xác thực]

Ngoài ra, phương pháp Xác thực dựa trên rủi ro [RBA] gợi ý rằng nếu mã thông báo làm mới được sử dụng nhiều lần, mã thông báo sẽ bị thu hồi; . Cơ chế như vậy giúp tăng cường bảo mật hơn nữa cho các ứng dụng sử dụng mã thông báo làm mới

Phần kết luận

Mã thông báo làm mới thực sự là một cách hoàn hảo để cung cấp bảo mật mạnh mẽ đồng thời mang lại trải nghiệm tuyệt vời cho người dùng, miễn là nó được sử dụng theo những cách phù hợp. Điều đó đang được nói, nó có thể không hoàn toàn cần thiết cho các ứng dụng của bạn và nhu cầu của chúng, vì vậy quyết định cuối cùng thuộc về bạn

Tôi hy vọng blog này cung cấp thông tin chi tiết về mã thông báo làm mới và cách bạn có thể sử dụng chúng trong các ứng dụng của mình. Cảm ơn vì đã đọc

Sự khác biệt giữa mã thông báo truy cập và làm mới là gì?

Thời gian tồn tại của mã thông báo làm mới dài hơn nhiều so với thời gian tồn tại của mã thông báo truy cập . Mã thông báo làm mới cũng có thể hết hạn nhưng tồn tại lâu dài. Khi mã thông báo truy cập hiện tại hết hạn hoặc không hợp lệ, máy chủ ủy quyền sẽ cung cấp mã thông báo làm mới cho khách hàng để nhận mã thông báo truy cập mới.

Mã thông báo truy cập có cần làm mới mã thông báo không?

Nếu yêu cầu Mã thông báo truy cập thành công, thì Máy chủ ủy quyền sẽ trả về phản hồi JSON có chứa thông tin Mã thông báo truy cập. Bạn không thể nhận mã thông báo làm mới bằng cách sử dụng mã thông báo làm mới. Nhận mã thông báo làm mới mới yêu cầu ứng dụng khách yêu cầu Mã thông báo truy cập bằng một trong các quy trình khác .

Sự khác biệt giữa mã thông báo truy cập và mã thông báo làm mới trong JWT là gì?

Vì mã thông báo truy cập không hợp lệ trong thời gian dài vì lý do bảo mật nên mã thông báo làm mới giúp xác thực lại người dùng mà không cần thông tin xác thực đăng nhập. This Refresh token is never exposed to the client-side Javascript, even if our access token gets compromised it'll be expired in a very short duration.

Sự khác biệt giữa mã thông báo truy cập và mã thông báo là gì?

Mã thông báo truy cập là thứ mà ứng dụng khách OAuth sử dụng để gửi yêu cầu tới API. Mã thông báo truy cập sẽ được API đọc và xác thực . Mã thông báo ID chứa thông tin về những gì đã xảy ra khi người dùng được xác thực và sẽ được ứng dụng khách OAuth đọc.

Sự khác biệt giữa mã thông báo truy cập và mã thông báo mang là gì?

Việc sử dụng mã thông báo mang không yêu cầu người mang phải chứng minh việc sở hữu tài liệu khóa mật mã [bằng chứng sở hữu]. Mã truy cập được sử dụng trong xác thực dựa trên mã thông báo để cho phép ứng dụng truy cập API .

Mã thông báo truy cập mã thông báo ID và mã thông báo làm mới là gì?

Mã thông báo truy cập được sử dụng trong xác thực dựa trên mã thông báo để có quyền truy cập vào tài nguyên bằng cách sử dụng chúng làm mã thông báo mang. Mã thông báo làm mới là loại mã thông báo đặc biệt tồn tại lâu dài được sử dụng để nhận mã thông báo truy cập được gia hạn. Mã thông báo ID mang thông tin nhận dạng được mã hóa trong chính mã thông báo, mã này phải là JWT

Chủ Đề