Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%)
|
Do tej pory miałem zadanie cron, które wykonywało się raz dziennie i pobierało zawartość skrzynki za pomocą imap_open. W związku z wyłączeniem przez Microsoft uwierzytelnienia za pomocą hasła oraz że PHP nie posiada wbudowanej funkcji obsługującej Oauth2 w imapi'e skorzystałem z gotowego rozwiązania https://github.com/Webklex/php-imap i loguje się za pomocą Oauth2.
Problem polega na tym że ważność tokena to 1 godzina więc zadanie cron w tym wypadku odpada. Zrobiłem partyzanckie rozwiązanie tzn. loguje się przez przeglądarkę do konta Microsoft, następnie w sesji przesyłam otrzymany get adres e-mail oraz token do pliku konfiguracyjnego php-imap, a następnie dodałem meta , które odświeża stronę przed wygaśnięciem tokena. Proszę o sugestie jak powinno to sensownie działać, może odświeżenie tokena... |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 0 Dołączył: 16.08.2017 Ostrzeżenie: (0%)
|
Zrobiłem tak jak sugerowałeś jednak nadal nie wiem dlaczego nie otrzymuje refresh_tokena
Wynik dostaje: "token_type":"Bearer", "scope":"https://outlook.office.com/IMAP.AccessAsUser.All https://outlook.office.com/User.Read", "expires_in":3749, "ext_expires_in":3749, "access_token":"eyw......." Ponowne odświeżenie strony daje wynik {"error":"invalid_grant","error_description":"AADSTS54005: OAuth2 Authorization code was already redeemed, please retry with a new valid code or use an existing refresh token.\r\nTrace ID: xxxx-6c31-40c7-aa47-74b745582300\r\nCorrelation ID: xxxxx-8ecd-40da-a2d4-132f3be38b0a\r\nTimestamp: 2022-11-12 19:30:06Z","error_codes":[54005],"timestamp":"2022-11-12 19:30:06Z","trace_id":"xxxxx-6c31-40c7-aa47-74b745582300","correlation_id":"xxxxx-8ecd-40da-a2d4-132f3be38b0a"} Znalazłem rozwiązanie mojego problemu, który polegał na złym ustawieniu zakresu tzn. jeżeli chcemy otrzymać refresh_token to zakres musi kończyć się offline_access. Oczywiście dostęp do offline_access musi być również ustawiony po stronie Azure. Ten post edytował inomi13 12.11.2022, 20:31:59 |
|
|
|
inomi13 logowanie do aplikacji za pomocą Tokena 8.11.2022, 21:23:24
ohm A nie ma zadnego endpointa api zebys mogl odpytac ... 9.11.2022, 11:55:28
inomi13 Po wywołaniu poniższego kodu i zalogowaniu kontem ... 9.11.2022, 18:58:32
vokiel Zwykle w Oauth2 jest tak, że jak wygenerujesz acce... 9.11.2022, 22:01:42
inomi13 I tutaj jest właśnie problem ponieważ nie mam poję... 10.11.2022, 08:02:02
vokiel Chyba nie czytałeś tej dokumentacji. Masz tam prze... 10.11.2022, 10:27:53
inomi13 Obecnie zrobiłem taki bypass. Loguję się do konta... 10.11.2022, 21:01:46
vokiel Tylko po co robisz jakiś bypass skoro możesz zrobi... 11.11.2022, 18:52:08
ZenekN o jaki zakres chodzi ? 15.11.2022, 07:24:08
viking O scope. 15.11.2022, 10:19:30 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 03:42 |