Не могу подключить yahoo почту по Oauth2

Поддержка
  • Подскажите, в чём проблема или где я неправильно что делаю. По документации описанной в yahoo, получаю все данные client_id, client_secret, refresh_token, access_token. Но при попытке залогиниться в почту, через модуль баса по методу "Oauth2" всегда получаю Login denied. Пробовал по-разному настроить подключение, но ни в какую не хочет.

    Вот данные:
    david_berist001@yahoo.com:=WOdAD1726O[]>

    refresh_token:
    AKejc2iKklilQ4ZyroOJwRYVPtLt~001~WyowKmKKvvS9lO9PiO.KkpEhOyA-

    client_id: dj0yJmk9YUJmMURiRlRpOVEyJmQ9WVdrOU1qQTBRVkJzYTBrbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWJi

    client_secret:
    8010bc4b6d6949c391c60e1c1d0a2547315d8831

  • Дополню, на странице регистрации приложения и получения данных client, вот такие настройки выставляю:
    image.png

  • вся инфа тут, можно взять даже client_id и client_secret:

    https://developer.yahoo.com/oauth2/guide/openid_connect/getting_started.html#getting-started-setup
    

    твоя ошибка в том, что ты не указал валидный scope.

    scope=openid%20mail-r доступ к чтению почты, а твой client_id не разрешает запрашивать доступ к чтению оной.

    Порядок действий:

    1. Получаем код авторизации: 
    https://api.login.yahoo.com/oauth2/request_auth?client_id=dj0yJmk9aVhnUWtwTDRnZnJ6JmQ9WVdKalpHVm1hQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD05Mg--&response_type=code&redirect_uri=oob&scope=openid%20mail-r&nonce=YihsFwGKgt3KJUh6tPs2
    
    2. Запрашиваем токены:
    POST https://api.login.yahoo.com/oauth2/get_token HTTP/1.1
    User-Agent: Fiddler
    Content-Type: application/x-www-form-urlencoded
    Host: api.login.yahoo.com
    Content-Length: 201
    
    grant_type=authorization_code&client_id=dj0yJmk9aVhnUWtwTDRnZnJ6JmQ9WVdKalpHVm1hQS0tJnM9Y29uc3VtZXJzZWNyZXQmeD05Mg--&client_secret=09ed456f928682009b5132372a0beede39c82fa3&redirect_uri=oob&code=wzwqa4z
    
    //
    {"access_token":"IOWke9yYpQrtCekK2BUn.aePljQdMjACuz1GJPXyYM2VkhUlmnH_OSr5JMBDUKj6IVMGS6CLNxlXUeES2Ix6mMGNNRgoAwWvApM0CyVV4mxuHWR0xmQFros3iEgII2PKPaR70eY7f.supKDn9ea5pHKCPZvo0Mafs0EIGtdePFsWi0uXiBJJLcfVG6UDNY8emFO8yec249mooB2TYIneEujybKhtggAL6ttxvVGsDy5jik05MmrqAfugXZZRyY6_KzIwZ24cIGFCw4rm7HMm8uM7RjT1C3Rv0aGjpAIrOTHSus4pWf78c57sSJwzMlJtFXEdl.4Yyo9gkSxjWyqbsiShtAedmdwdjXmTIGMNwWcPYUungGvkTyG9yw70TBf4.jZSGbhmRcMrxPQUmAIEARMUWYfUqdEjKAP7TTr.VnLUV3ZqJlWNClaLNceSMD276DjldwltOPbZfq7HYhR5J8xP1Bcp.E0XDkpzZo8BmG1gPaGnCxeUSrWg.o5JqQzhkMvUvYKv_QpXs6UIuu7Pq53tfP.8AuhMN0u89c8ggw2oT9llObrRbRXA62YeSpgnrWDtUONn01dkWnFhRf4su7nosLDn85P60s1RHQAMyRJI3_4TIm_aCHowujx3myKOFVa94GHsIqXZdh5v5jR6bGRME_vwv5HoWRldguXFPWsuQs.pQjK0FtwUWr4nJVW94QnVNrafOn82YyvMQqcNJSvhiiQWAwmRfEhDMEkbD5BCCDQdbQ_B24GiqYomrhEE9jPIbUynbZQoJZzeclJ6Ubg9N1T7_imbMIIeWoQpmeQbzUem9AskrN6y3Gux_zKlQm0uuWzaARtSPvq_Jj5fO0j0dscHj1sSzDPyuo42MsnH4tw1OYxgMgfPjrbRnNovgghMv09grynBMQQ2HMmDvvfR4Jikfsarn52YBV7r.I5sEPMgYCkRprjFGOU-","refresh_token":"AEgYdGiG1maEWaocK4Oi5oRzjCsl~001~t0ZxeuXOIN2CUsgRPR4s1OHRUEs-","expires_in":3600,"token_type":"bearer","xoauth_yahoo_guid":"EU63NPRIHTBRAZ6GRDMFL6MMW4","id_token":"eyJhbGciOiJFUzI1NiIsImtpZCI6IjM0NjZkNTFmN2RkMGM3ODA1NjU2ODhjMTgzOTIxODE2YzQ1ODg5YWQifQ.eyJhdF9oYXNoIjoiNzV4UWRSelRWV1JDTU9Lc1BwQmZ6dyIsImF1ZCI6ImRqMHlKbWs5YVZoblVXdHdURFJuWm5KNkptUTlXVmRLYWxwSFZtMWhRUzB0Sm5NOVkyOXVjM1Z0WlhKelpXTnlaWFFtZUQwNU1nLS0iLCJzdWIiOiJFVTYzTlBSSUhUQlJBWjZHUkRNRkw2TU1XNCIsImF1dGhfdGltZSI6MTc1MjQzODAzOCwiaXNzIjoiaHR0cHM6Ly9hcGkubG9naW4ueWFob28uY29tIiwic2Vzc2lvbl9leHAiOjE3NTM2NDc2MzgsImV4cCI6MTc1MjQ0MjQ3MCwiYXBwX2lkIjoiZGoweUptazlhVmhuVVd0d1REUm5abko2Sm1ROVdWZEthbHBIVm0xaFFTMHRKbk05WTI5dWMzVnRaWEp6WldOeVpYUW1lRDA1TWctLSIsImlhdCI6MTc1MjQzODg3MCwibm9uY2UiOiJZaWhzRndHS2d0M0tKVWg2dFBzMiIsInNpZCI6Im1oY2FSTlhzVmpoSiJ9.NggLzsWVmGzaq_vCBYcIcNLZ6T3H6yu05GcgjUR9Q1SVEgMh-H6P8wHky65_7EV4qyLmSegUduD2cb1FHznh7A"}
    

    Вуаля, все работает:

  • @Int64 Спасибо. Да, я по другой инструкции от них же делал "https://developer.yahoo.com/oauth2/guide/flows_authcode/#refresh-token-label".
    Но проблема, в том что по документации и примеру от тебя, я не могу ничего получить, то есть первый запрос "request_auth" не проходит даже. Постоянно "https://localhost/?error=invalid_scope&error_description=invalid+scope", либо страница:
    62ca7cca-a516-4bd5-924e-98464ade496f-image.png.

    Вот запросы по которым пытался переходить:

    1. https://api.login.yahoo.com/oauth2/request_auth?client_id=dj0yJmk9UFpjQWtibXdLMjM2JmQ9WVdrOWJrbHJTMWx0VDFnbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWE3--&response_type=code&redirect_uri=oob&scope=openid mail-r&nonce=YihsFwGKgt3KJUh6tPs3

    2. https://api.login.yahoo.com/oauth2/request_auth?client_id=dj0yJmk9UFpjQWtibXdLMjM2JmQ9WVdrOWJrbHJTMWx0VDFnbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWE3--&redirect_uri=https://localhost&response_type=code&scope=openid mail-r&nonce=YihsFwGKgt3KJUh6tPs3&language=en-us

    3. https://api.login.yahoo.com/oauth2/request_auth?client_id=dj0yJmk9UFpjQWtibXdLMjM2JmQ9WVdrOWJrbHJTMWx0VDFnbWNHbzlNQT09JnM9Y29uc3VtZXJzZWNyZXQmc3Y9MCZ4PWE3--&redirect_uri=oob&response_type=code&scope=openid mail-r&nonce=YihsFwGKgt3KJUh6tPs3&language=en-us

    Так же без двух "-" в конце client_id пробовал.

    А вот что мне выдаёт мой изначальный запрос, который я делал не правильным scope под чтение почты, и там всё окей работает и выдаёт форму access:
    Вот такие настройки:
    abf9284a-7a2a-46e1-84aa-6dd193f71f45-image.png

    Запрос:
    https://api.login.yahoo.com/oauth2/request_auth?client_id=[[CLIENT_ID]]&redirect_uri=https://localhost&response_type=code&scope=openid%20email%20profile&language=en-us

    Результат:
    9850883a-69ec-42c7-955d-5655b9586d01-image.png

  • @Int64 Я как понял, по документации и на скрине, вот такую настройку "mail -> read", можно проставить только в premium api?
    921eed22-0077-4dcb-8c8d-2d60cbade681-image.png

    Потому что в настройках создания приложения, что я вижу из нужного, только "OpenID Connect Permissions -> Email", что-то вроде "Read | Read/Write" для mail нету:

    3d571240-22b6-4cfc-b859-5ac734f227ae-image.png

    Или подавать заявку (отправкой им письма на почту), типо чтобы они дали доступ к премиум апи с возможностью включения scope=mail-r?