oAuth를 사용하여 Gmail에 로그인 할 때 MailKit (http://jstedfast.github.io/MailKit/docs/index.html)을 사용하려고합니다. 새로 고친 AuthToken을 사용하여 Google API에 로그인 할 수 있지만 MailKit에서 새로 고친 토큰을 사용하려고하면 "잘못된 자격증 명"오류가 발생합니다.MailKit을 사용하여 Gmail IMAP에 로그인하는 방법
모든 단서 ??
var secrets = new ClientSecrets()
{
ClientId = "xxx-yyy.apps.googleusercontent.com",
ClientSecret = "xyzSecret"
};
IAuthorizationCodeFlow flow =
new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = secrets,
Scopes = new string[] { GmailService.Scope.GmailReadonly }
});
var tokenResponse = flow.RefreshTokenAsync("", connection.RefreshToken, CancellationToken.None).Result;
using (var client = new MailKit.Net.Imap.ImapClient())
{
var credentials = new NetworkCredential("[email protected]", tokenResponse.AccessToken);
client.Connect("imap.gmail.com", 993, true, CancellationToken.None);
try
{
client.Authenticate(credentials, CancellationToken.None);
}
catch (Exception ex)
{
throw;
}
}
OAUTH2는 맞춤 인증 과정이 필요하며 표준 IMAP 인증을 사용할 수 없습니다. 액세스 토큰을 암호로 전달하는 것 같습니다. 그렇지 않습니다. – Max
사실, MailKit에서는 암호로 전달되는 것 같습니다. 다음은 SMTP를 사용하는 다른 답변에 대한 링크입니다.하지만 여전히 작동하지 않습니다. 내 AuthCode가 필요한 것을 사용하여 빌드되지 않을 수도있는 범위를 조사 할 것입니다. 방금 IMAP 액세스를 위해 https://mail.google.com을 찾았습니다. Mine은 API에서 읽기 액세스 만했습니다. 그것이 지금까지는 다르다는 것을 깨닫지 못했습니다. 어쨌든, 여기 @Max 링크가 있습니다. [link] (http://stackoverflow.com/questions/24195508/smtp-and-oauth-2/24204968#24204968) – Jeff