Я хочу внедрить Google auth2.0 для обеспечения безопасности чтения моей почты Gmail. Пока что он хорошо работает с обычным паролем электронной почты и приложения. Но я получаю сообщение об ошибке неверных учетных данных при вводе токена доступа auth2.0. Что я делаю не так?
Credential credential = gmailOAuth2Config.authorize();
String oauthToken = credential.getAccessToken();
String oauth2Token = "user=" + gmailEmail + "\u0001auth=Bearer " + oauthToken + "\u0001\u0001";
String base64AuthString = Base64.getEncoder().encodeToString(oauth2Token.getBytes(StandardCharsets.UTF_8));
System.out.println("Encoded SASL XOAUTH2 Token: " + base64AuthString);
Properties props = new Properties();
props.put("mail.imap.ssl.enable", "true");
props.put("mail.imap.sasl.enable", "true");
props.put("mail.imap.auth.mechanisms", "XOAUTH2");
props.put("mail.imap.auth.login.disable", "true");
props.put("mail.imap.auth.plain.disable", "true");
Session emailSession = Session.getInstance(props);
Store store = emailSession.getStore("imap");
//Store store = emailSession.getStore("imaps"); works!
try {
store.connect("imap.gmail.com", gmailEmail, base64AuthString );
store.connect("imap.gmail.com", gmailEmail, gmailPassword);//works
System.out.println("Connected successfully to Gmail IMAP.");
} catch (jakarta.mail.AuthenticationFailedException e) {
System.err.println("Authentication failed: " + e.getMessage());
}
2024-11-14T10:12:19.207+05:30 ERROR 11772 --- [emailservice] [ scheduling-1] c.d.emailservice.service.EmailService : An error occurred while reading email inbox: Not connected
java.lang.IllegalStateException: Not connected
at com.sun.mail.imap.IMAPStore.checkConnected(IMAPStore.java:1960) ~[jakarta.mail-2.0.1.jar:2.0.1]
at com.sun.mail.imap.IMAPStore.getFolder(IMAPStore.java:1737) ~[jakarta.mail-2.0.1.jar:2.0.1]
at com.doxmate.emailservice.service.EmailService.readEmail(EmailService.java:97) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.14.jar:6.1.14]
at
Подробнее здесь: https://stackoverflow.com/questions/791 ... ot-java-17
Чтение Gmail с помощью Oauth 2.0 в Spring Boot (Java 17) ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1731563437
Anonymous
Я хочу внедрить Google auth2.0 для обеспечения безопасности чтения моей почты Gmail. Пока что он хорошо работает с обычным паролем электронной почты и приложения. Но я получаю сообщение об ошибке неверных учетных данных при вводе токена доступа auth2.0. Что я делаю не так?
Credential credential = gmailOAuth2Config.authorize();
String oauthToken = credential.getAccessToken();
String oauth2Token = "user=" + gmailEmail + "\u0001auth=Bearer " + oauthToken + "\u0001\u0001";
String base64AuthString = Base64.getEncoder().encodeToString(oauth2Token.getBytes(StandardCharsets.UTF_8));
System.out.println("Encoded SASL XOAUTH2 Token: " + base64AuthString);
Properties props = new Properties();
props.put("mail.imap.ssl.enable", "true");
props.put("mail.imap.sasl.enable", "true");
props.put("mail.imap.auth.mechanisms", "XOAUTH2");
props.put("mail.imap.auth.login.disable", "true");
props.put("mail.imap.auth.plain.disable", "true");
Session emailSession = Session.getInstance(props);
Store store = emailSession.getStore("imap");
//Store store = emailSession.getStore("imaps"); works!
try {
store.connect("imap.gmail.com", gmailEmail, base64AuthString );
store.connect("imap.gmail.com", gmailEmail, gmailPassword);//works
System.out.println("Connected successfully to Gmail IMAP.");
} catch (jakarta.mail.AuthenticationFailedException e) {
System.err.println("Authentication failed: " + e.getMessage());
}
2024-11-14T10:12:19.207+05:30 ERROR 11772 --- [emailservice] [ scheduling-1] c.d.emailservice.service.EmailService : An error occurred while reading email inbox: Not connected
java.lang.IllegalStateException: Not connected
at com.sun.mail.imap.IMAPStore.checkConnected(IMAPStore.java:1960) ~[jakarta.mail-2.0.1.jar:2.0.1]
at com.sun.mail.imap.IMAPStore.getFolder(IMAPStore.java:1737) ~[jakarta.mail-2.0.1.jar:2.0.1]
at com.doxmate.emailservice.service.EmailService.readEmail(EmailService.java:97) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[spring-context-6.1.14.jar:6.1.14]
at
Подробнее здесь: [url]https://stackoverflow.com/questions/79187538/read-gmail-using-auth2-0-in-springboot-java-17[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия