OAuth2, Graph API, 앱 비밀번호: Outlook 목록이 알려주는 것들
Microsoft는 2024년 9월에 개인 Outlook 계정의 일반 비밀번호 로그인을 중단했습니다. 그래서 이제 모든 목록에 OAuth2 태그가 붙어 있습니다. 각 태그가 제공하는 기능과, 몇 주 후에 조용히 실패하는 한 가지 불완전한 부분을 소개합니다.
Avery Bennett모든 Outlook 및 Hotmail 목록에는 OAuth2 [Graph] 또는 OAuth2 [IMAP/POP3] 같은 태그가 붙어 있고, 배송 항목에는 비밀번호 대신 refresh_token과 client_id라는 필드가 포함됩니다. 이는 판매자가 만든 것이 아닙니다. Microsoft가 이러한 계정에 접근하는 방식을 변경했습니다.
자세한 내용에 앞서 한 가지 참고: 대부분의 플랫폼 약관은 계정 양도를 금지하며, 여기 있는 내용이 Microsoft가 계정 거래를 승인한다는 뜻으로 읽혀서는 안 됩니다. 이 글은 기술 태그가 무엇을 의미하는지 설명하는 것이며, 특정 거래가 허용되는지 여부와는 별개의 문제입니다.
무엇이, 언제 바뀌었나
2024년 9월 16일, 개인 Outlook.com, Hotmail 및 Live.com 계정에 대한 기본 인증이 종료되었습니다. 기본 인증은 메일 클라이언트가 사용자 이름과 비밀번호를 메일 서버에 직접 보내는 방식입니다. 그 날짜 이후로 이 사서함에 접근하는 타사 클라이언트와 스크립트는 OAuth2를 사용해야 하며, Microsoft는 이를 현대 인증이라고 부릅니다.
이 한 가지 변경이 바로 판매대가 지금처럼 보이는 이유입니다. 개인 Outlook 사서함에 대한 일반 자격 증명을 제공하는 목록은 더 이상 연결되지 않는 것을 설명하는 것이므로, 태그는 마케팅 선택이 아니라 결과입니다.
OAuth2 대 앱 비밀번호, 사람들이 실제로 비교하는 것
영어 검색 제안은 OAuth2를 일반 비밀번호보다 앱 비밀번호와 훨씬 더 자주 짝지어 보여주며, 그것이 올바른 질문입니다. 둘 다 "내 비밀번호가 더 이상 작동하지 않는다"에 대한 답변이며, 동작 방식은 매우 다릅니다.
| 앱 비밀번호 | OAuth2 | |
|---|---|---|
| 보유 항목 | 생성된 단일 문자열 | 리프레시 토큰 및 발급된 클라이언트 자격 증명 |
| 설정 | 계정 설정에서 생성 | 애플리케이션 등록, 동의 흐름 완료 |
| 권한 | 프로토콜이 허용하는 모든 것, 분할되지 않음 | 범위가 지정되어 읽기 전용 가능 |
| 갱신 | 취소될 때까지 유효 | 리프레시 토큰을 새 액세스 토큰으로 교환 |
| 실패 시 | 다른 하나 생성 | 받은 항목에 전적으로 달림 |
마지막 행이 구매할 때 중요한 것이며, 다음 섹션이 존재하는 이유입니다.
조용히 실패하는 불완전함
리프레시 토큰은 자체적으로 완전하지 않습니다. 새 액세스 토큰으로 교환하려면 발급된 클라이언트 ID와 종종 클라이언트 시크릿이 필요합니다. 리프레시 토큰만 받으면 현재 액세스 토큰이 만료될 때까지 작동하고, 그 후에는 갱신 방법 없이 영구히 중지되는 것을 보유한 것입니다.
배송 시점에는 모든 것이 정상으로 보이며, 그것이 바로 함정입니다. 연결이 성공하고, 메일이 도착하고, 구매가 괜찮아 보입니다. 실패는 며칠 또는 몇 주 후, 보증 기간이 이미 지난 후에 발생합니다.
따라서 배송 시 테스트는 "연결이 되는가"가 아닙니다. "리프레시를 수행할 수 있는가"입니다. 받은 자격 증명으로 토큰 교환을 강제하고, 새 액세스 토큰을 받는지 확인하세요. 이는 사서함을 읽는 것과 다른 행동이며, 실제로 무엇을 샀는지 알려주는 유일한 방법입니다.
태그 읽기
- OAuth2 [IMAP/POP3]: 토큰이 메일 프로토콜을 승인합니다. 일반 메일 클라이언트와 메일 라이브러리는 OAuth2를 지원한다면 작동합니다. 오래된 클라이언트는 종종 지원하지 않으며, 이는 실제 제약입니다.
- OAuth2 [Graph]: 토큰이 Microsoft Graph를 승인합니다. 메일, 일정, 연락처를 포함하는 프로그래밍 인터페이스입니다. 직접 구축하는 것에 적합하며, IMAP을 사용하는 메일 클라이언트에서는 사용할 수 없습니다.
- 둘 다: 토큰의 범위가 두 경로를 모두 포함합니다. 더 유연하며, 범위를 가정하지 말고 읽어볼 가치가 있습니다.
이들 사이의 선택은 이 카탈로그의 다른 곳과 동일한 결정입니다: 도구가 말하는 것을 사세요. Graph 권한은 메일 클라이언트에 도움이 되지 않고, IMAP 권한은 Graph에 맞춰 작성된 소프트웨어에 도움이 되지 않습니다.
Google 쪽의 동일한 패턴
이것이 Microsoft만의 특이점으로 읽히지 않도록 언급할 가치가 있습니다. Google도 동일한 조치를 취했습니다: 계정 비밀번호가 메일 클라이언트에서 작동하지 않게 되었고, 앱 비밀번호가 가벼운 경로가 되었으며, OAuth2를 사용하는 Gmail API가 프로그래밍 방식이 되었습니다. 이름은 다르지만, 모양은 같습니다.
전반적인 방향은 비밀번호가 기계 자격 증명으로서 전반적으로 퇴출되고 있다는 것입니다. 여기 검색 제안에도 나타나는 패스키는 인간 로그인에 적용된 동일한 움직임입니다. 의존할 것을 선택한다면, 그 방향을 고려할 가치가 있습니다.
구매 전에
- 도구가 OAuth2를 지원하는지 확인하세요. 많은 오래된 메일 클라이언트는 지원하지 않으며, 어떤 목록도 이를 고칠 수 없습니다.
- 배송에 리프레시 토큰뿐만 아니라 클라이언트 ID와 시크릿이 포함되는지 확인하세요.
- 도착 시 읽기가 아닌 리프레시를 수행하세요. 완전한 권한과 만료되어 사라질 권한을 구분하는 유일한 확인 방법입니다.
OAuth2 태그로 필터링 가능한 Outlook 및 Hotmail 목록은 Outlook 판매대와 Hotmail 판매대에 있습니다.
