이 프로젝트는 OAUTH2로 인증하고 Gmail, microsoft/office365 및 hotmail.com/outlook.com/live.com 이메일 주소에 대한 이메일 메시지를 보내는 방법을 보여주는 매우 기본적인 데모입니다. 처음에는 Gmail(따라서 이름) 전용이었지만 이후 다른 제공업체를 지원하도록 확장되었습니다.
OAuth2는 서버에서 보호하는 리소스에 대한 액세스 권한을 부여하는 데 사용되는 공개 인증 표준입니다. 이를 통해 애플리케이션이나 서비스는 사용자가 애플리케이션에 직접 자격 증명을 제공하지 않고도 리소스 서버로 인증하고 사용자를 대신하여 보호된 리소스에 액세스할 수 있습니다.
사용자가 이메일 클라이언트나 다른 애플리케이션을 사용하여 이메일에 액세스하려는 경우 애플리케이션은 OAuth2를 사용하여 이메일 서비스에 인증하고 사용자 이메일에 대한 액세스를 요청할 수 있습니다. 그러면 사용자에게 이메일 계정에 로그인하고 애플리케이션에 대한 액세스 권한을 부여하라는 메시지가 표시됩니다. 액세스 권한이 부여되면 애플리케이션은 OAuth2 액세스 토큰을 사용하여 이메일 서비스를 인증하고 사용자의 이메일에 액세스할 수 있습니다.
인증에 OAuth2를 사용하면 여러 가지 이점이 있습니다. 이를 통해 사용자는 로그인 자격 증명을 애플리케이션과 공유하지 않고도 이메일에 대한 액세스 권한을 부여할 수 있으므로 개인정보와 보안을 보호하는 데 도움이 됩니다. 또한 사용자는 한 번만 액세스 권한을 부여하면 OAuth2 액세스 토큰을 사용하여 모든 장치에서 이메일 서비스에 인증할 수 있으므로 사용자가 여러 장치 및 애플리케이션에서 이메일에 더 쉽게 액세스할 수 있습니다.
다음 상수를 포함하는 Globals.pas라는 파일을 만들어야 합니다.
google_clientid
google_clientsecret 이를 얻으려면 https://console.cloud.google.com/apis/credentials로 이동하세요.
google_client계정
microsoft_clientid
microsoft_clientaccount 이를 얻으려면 https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade로 이동하십시오. Microsoft에는 아래와 같이 다양한 앱 권한도 필요합니다.
클라이언트 주소로 보내기
고객 이름
이 프로젝트에는 OpenSSL이 필요합니다. https://github.com/IndySockets/OpenSSL-Binaries에서 필요한 파일을 찾을 수 있습니다.
감사해요
제프리 스미스