OAuth2, Graph API và Mật khẩu ứng dụng: Những gì danh sách Outlook đang cho bạn biết
Microsoft đã ngừng hỗ trợ đăng nhập bằng mật khẩu thường cho tài khoản Outlook cá nhân từ tháng 9 năm 2024, đó là lý do vì sao mọi danh sách hiện đều gắn thẻ OAuth2. Dưới đây là ý nghĩa của từng thẻ, cùng một điểm thiếu sót duy nhất sẽ âm thầm gây lỗi vài tuần sau đó.
Avery BennettMọi danh sách Outlook và Hotmail đều mang một thẻ như OAuth2 [Graph] hoặc OAuth2 [IMAP/POP3], và khi giao hàng bao gồm các trường gọi là refresh_token và client_id thay vì mật khẩu. Đó không phải là phát minh của người bán. Microsoft đã thay đổi cách các tài khoản này có thể được truy cập.
Một lưu ý trước khi đi vào chi tiết: điều khoản của hầu hết các nền tảng cấm chuyển nhượng tài khoản, và không có gì ở đây nên được hiểu là Microsoft xác nhận việc mua bán tài khoản. Bài viết này giải thích ý nghĩa của các thẻ kỹ thuật, một vấn đề riêng biệt với việc liệu giao dịch cụ thể nào có được phép hay không.
Điều gì đã thay đổi, và khi nào
Vào ngày 16 tháng 9 năm 2024, xác thực cơ bản đã chấm dứt đối với các tài khoản Outlook.com, Hotmail và Live.com cá nhân. Xác thực cơ bản là cơ chế mà ứng dụng email gửi tên người dùng và mật khẩu trực tiếp đến máy chủ thư. Sau ngày đó, các ứng dụng và tập lệnh bên thứ ba truy cập các hộp thư này phải sử dụng OAuth2, mà Microsoft gọi là xác thực hiện đại.
Một thay đổi duy nhất đó là lý do khiến kệ hàng trông như hiện tại. Một danh sách chào bán thông tin đăng nhập thông thường cho hộp thư Outlook cá nhân đang mô tả thứ không còn kết nối được nữa, vì vậy các thẻ này là hệ quả chứ không phải lựa chọn tiếp thị.
OAuth2 so với mật khẩu ứng dụng, so sánh mà mọi người thực sự đặt ra
Các gợi ý tìm kiếm tiếng Anh ghép OAuth2 với mật khẩu ứng dụng thường xuyên hơn nhiều so với mật khẩu thông thường, và đó là câu hỏi đúng. Cả hai đều là câu trả lời cho "mật khẩu của tôi không còn hoạt động", và chúng hoạt động rất khác nhau.
| Mật khẩu ứng dụng | OAuth2 | |
|---|---|---|
| Thứ bạn nắm giữ | Một chuỗi được tạo duy nhất | Một refresh token cùng với thông tin client mà nó được cấp |
| Thiết lập | Tạo trong cài đặt tài khoản | Đăng ký một ứng dụng, hoàn tất luồng đồng ý |
| Quyền hạn | Bất cứ điều gì giao thức cho phép, không phân chia | Giới hạn phạm vi, nên có thể chỉ đọc |
| Gia hạn | Hiệu lực cho đến khi bị thu hồi | Trao đổi refresh token để lấy access token mới |
| Nếu thất bại | Tạo một cái khác | Phụ thuộc hoàn toàn vào những gì bạn được cung cấp |
Hàng cuối cùng là hàng quan trọng khi mua, và đó là lý do phần tiếp theo tồn tại.
Sự thiếu sót thất bại một cách âm thầm
Một refresh token không tự chứa đủ thông tin. Để trao đổi nó lấy access token mới, bạn cần client id, và thường là client secret, mà nó được cấp dựa trên. Nhận refresh token một mình và bạn đang nắm giữ thứ hoạt động tốt cho đến khi access token hiện tại hết hạn, rồi dừng vĩnh viễn mà không có cách nào gia hạn.
Mọi thứ trông có vẻ đúng khi giao hàng, và đó chính là cái bẫy. Kết nối thành công, thư đến nơi, giao dịch có vẻ ổn. Sự thất bại xảy ra nhiều ngày hoặc nhiều tuần sau đó, lâu sau khi mọi cửa sổ bảo hành đã đóng.
Vì vậy, bài kiểm tra khi giao hàng không phải là "nó có kết nối không". Mà là "tôi có thể thực hiện refresh không". Buộc một lần trao đổi token với thông tin bạn được cung cấp, và xác nhận bạn nhận lại được access token mới. Đó là một hành động khác với việc đọc hộp thư và là cách duy nhất cho bạn biết bạn thực sự đã mua gì.
Đọc các thẻ
- OAuth2 [IMAP/POP3]: token ủy quyền cho các giao thức thư. Các ứng dụng email và thư viện thư thông thường hoạt động được, miễn là chúng hỗ trợ OAuth2 thay vì chỉ mật khẩu. Các ứng dụng cũ thường không hỗ trợ, đó là một hạn chế thực sự.
- OAuth2 [Graph]: token ủy quyền cho Microsoft Graph, giao diện lập trình bao phủ thư, lịch và danh bạ. Phù hợp với thứ bạn đang xây dựng; không thể dùng bởi ứng dụng email, vốn nói IMAP chứ không phải Graph.
- Cả hai: phạm vi của token bao phủ cả hai đường. Linh hoạt hơn, và vẫn đáng để đọc kỹ phạm vi thay vì chỉ giả định.
Chọn giữa chúng cũng là quyết định giống như bất kỳ đâu khác trong danh mục này: mua cái mà công cụ của bạn nói được. Một quyền Graph không giúp ích cho ứng dụng email và quyền IMAP không giúp ích cho phần mềm viết dựa trên Graph.
Cùng một mô hình ở phía Google
Đáng lưu ý vì nó ngăn việc đọc bài này như một đặc thù của Microsoft. Google đã thực hiện động thái tương đương: mật khẩu tài khoản ngừng hoạt động từ các ứng dụng email, mật khẩu ứng dụng trở thành đường nhẹ nhàng, và Gmail API với OAuth2 trở thành đường lập trình. Tên khác nhau, hình dạng giống nhau.
Xu hướng chung là mật khẩu đang bị loại bỏ như thông tin xác thực máy móc trên toàn diện. Passkey, cũng xuất hiện trong các gợi ý tìm kiếm ở đây, là cùng một phong trào áp dụng cho việc đăng nhập của con người. Nếu bạn đang chọn thứ để phụ thuộc, xu hướng đó đáng để cân nhắc.
Trước khi bạn mua
- Xác nhận công cụ của bạn có hỗ trợ OAuth2 hay không. Nhiều ứng dụng email cũ không hỗ trợ, và không danh sách nào có thể sửa điều đó.
- Xác nhận khi giao hàng bao gồm client id và secret cùng với refresh token, không chỉ riêng token.
- Khi nhận hàng, thực hiện refresh thay vì đọc. Đó là kiểm tra duy nhất phân biệt một quyền hoàn chỉnh với một quyền sẽ hết hạn thành không có gì.
Các danh sách Outlook và Hotmail với thẻ OAuth2 có thể lọc được nằm trên kệ Outlook và kệ Hotmail.
