auth.login
Login using user name and password and returns session information. Application is not authorized to use this method by default.
Important
Login by HTTP protocol is deprecated. In order to secure user credentials transmission, all applications (as far as possible) must use or must switch to HTTPS protocol for current method.
Parameters
| Name | Required | Type | Description |
|---|---|---|---|
| user_name | Y | String | User name |
| password | Y | String | Password |
| gen_token | N | boolean | Default : false. Generate permanent authentication token, which can be used with REST API - auth.loginByToken. Authentication token allows implementing Rememeber Me functionality without storing password in application. Token expires, when user changes password in the portal. |
| captcha_id | N |
String |
The ID of captcha. The value for this parameter is returned as part of error 402. See section "Captcha support" below. |
| captcha_text |
N |
String |
The text entered by human after he interprets captcha. See section "Captcha support" below. |
Authorization
- Must be invoked without session
Result
Result contains:
- uid - logged user ID
- session_key - public key of created session
- session_secret_key - secret key for the created session
- api_server - URL of the API server for the future calls
- auth_token - authentication token for the future authentication without password. Expires, when password changes.
- auth_sig - An MD5 hash of the user+session_key+application_secret_key. It can be used for the simplified verification of the logged in user by your application server (From 25.08.2010)
- activated_profile - The profile of user is activated on portal (From 04.04.2012)
Captcha support
Sometimes login can be failed due to concerns that login is not performed by human. In this case following error is returned:
XML
Application when it receives this error should either:
- to show error message from this response to user
- or to process captcha:
- show to the human user an image that is accessible by URL returned in parameter capcha_image_url
- request the text interpretation from human user
- call method auth.login again, passing both parameters - captcha_id and captcha_image_url.
Examples
Request : /auth/login?application_key=[Application Key]&sig=[Signature]&user_name=test&password=test_pwd&gen_token=true
XML
JSON
Labels:
None
30 Comments
comments.show.hideJun 21, 2010
Dawid Gordon
Hi,
I have a problem with logging in, it always throws 101 error (PARAM_API_KEY : Application not exist). I have registered application in sandbox and i use it's application key. My url is as following (username and pass aren't valid in this example):
http://api.odnoklassniki.ru/api/auth/login?application_key=cbaqpfabababababa&sig=5adef8471f8756e803439a6439c5257c&user_name=testuser&password=testuserpass
What could be wrong? Shall I use different api server for applications from sandbox? Did I misscalcullate signature (I tried it as it was given in Authentication and Authorization chapter)?
Regards,
Dawid.
Jun 30, 2010
Alexander Hristoforov
Application registered in sandbox can call API methods on sandbox server only, while http://api.odnoklassniki.ru - is a production. Use http://api-sandbox.odnoklassniki.ru:8088
Jul 26, 2010
Dmitry Voychenko
Добрый день. Интересует вопрос - как долго действует токен и будет ли он доступен в XML версии ответа на /auth/login?
Aug 12, 2010
Alexander Hristoforov
Действует пока пользователь не сменит пароль. В XML он есть, дока исправлена
Oct 05, 2010
Dmitry Voychenko
Добрый день. Для поддержки специальных символов в логине и пароле(.!#$%^&*()_-+) решили передавать параметры через POST-транзакцию. В результате получаем ошибку неверной сигнатуры.
Линка запроса:
POST буфер:
Ответ:
Oct 06, 2010
Alexander Hristoforov
Там похоже перевод строки пришел
Oct 07, 2010
Dmitry Voychenko
Спасибо, POST-транзакция заработала. Но логин со специальными символами не работает. Пользователю "q .!#$%^&*()_-+q" всё время возвращает AUTH_LOGIN : INVALID_CREDENTIALS. Логин/пароль сервер принимает правильно - проверили это имитацией ошибки сигнатуры.
Oct 11, 2010
Edgars Strods
По крайней мере для двух мобильных приложений auth_login с использованием спец-символов работает корректно. Проверьте пожалуйста encoding.
Oct 12, 2010
Dmitry Voychenko
Спасибо, всё заработало.
Feb 01, 2011
Anton Antropov
При попытке авторизировать пользователя, выдает
<ns2:error_response>
<error_code>401</error_code>
<error_msg>AUTH_LOGIN : Invalid user name or password</error_msg>
</ns2:error_response>
Хотя запрос правильные, делаем в песочницу. http://api-sandbox.odnoklassniki.ru:8088/api/auth/login?application_key=CBAQMIABABABABABA&sig=f406ed21b2e3dfec48d6f5ac50c20420&user_name=логин&password=пароль&gen_token=true
Feb 02, 2011
Edgars Strods
проверьте пожалуйста на наличие спецсимволов в логине. Возможно проблема с encoding.
Feb 02, 2011
Anton Antropov
GET запрос, все символы в логине и пароле - латиница.
Apr 19, 2011
Павел Курта
Добрый день,
При использовании продакшн сервера получаю ошибку с кодом 401, сообщение "AUTH_LOGIN : Application with ID [148480] not authorized to perform login". С sandbox никаких проблем.
Спасибо, Павел
Apr 21, 2011
Павел Курта
Вопрос закрыт. Решение - запрос в jira.
Sep 19, 2011
Eugene Agafonov
Метод валится с ошибкой 100 "PARAM : Missed required parameter: access_token"
В "песочнице" авторизация проходит на ура.
Параметр нигде не описан и вообще не понятно, зачем он нужен при авторизации.
Запрос вида https://api.odnoklassniki.ru/fb.do?format=json&application_key=GABBAGABBAHEY&sig=1234565&password=skipped&user_name=skipped&method=auth.login
Sep 19, 2011
Edgars Strods
данный application_key - неверный.
Sep 19, 2011
Eugene Agafonov
Он покоцаный, так же как и пароль с именем пользователя :)
Если важно, вот запрос с AppKey
https://api.odnoklassniki.ru/fb.do?format=json&application_key=CBAOPBEBABABABABA&sig=skipped&password=skipped&user_name=skipped&method=auth.login
Если задаю невалидный AppKey, то получаю ожидаемый "App does not exist"
Кто такой этот мифический access_token? По названию похоже это из OAuth и компании.
ЗЫ http://en.wikipedia.org/wiki/Gabba_Gabba_Hey
Sep 19, 2011
Edgars Strods
вы для приложения с типом EXTERNAL (которое нужно создавать для Oauth) пытаетесь вызвать этот метод. Обьясните пожалуйста, зачем вам auth.login?
Sep 19, 2011
Eugene Agafonov
Из документации не очевидно, что для приложений EXTЕRNAL auth.login не работает ;-)
OAuth для нужд моего приложения подходит горазду лучше, спасибо за наводку.
Sep 24, 2011
Павел Есир
Как долго можно используя session_key выполнять запросы?
Dec 02, 2011
Иван Фараонов
Как нужно зарегистрировать приложение, чтобы была доступна эта функция?
И еще вопрос, при многократных попытках авторизации (например, 16 попыток подряд) будет ли это принято за брутфорс и выполнена какая-либо блокировка? Что нужно сделать, чтобы избежать этого (временные интервалы и т.п.)?
Mar 10, 2012
Алексей Болотов
Как и где в одноклассниках правильно создавать приложения что бы получить наконец application_key=[Application Key] этот параметр?
Mar 12, 2012
Edgars Strods
Причём application_key в методе auth.login?
Application_key = Public key, который приходит на емайл при создании приложения. Права разработчика выдаются после заполнения формы http://dev.odnoklassniki.ru/wiki/pages/viewpage.action?pageId=13992188, если речь идёт про OAuth.
Mar 15, 2012
Юрий Гашпар
Скажите, пожалуйста, uid пользователя в игре (logged user ID) является уникальным в рамках только игры, или он уникальный в целом в Одноклассниках по всем приложениям и играм? Мы столкнулись с тем, что в двух наших разных приложениях у двух разных пользователей одинаковый uid. Хотим понять это нормально, или какой-то баг.
Mar 15, 2012
Edgars Strods
отпишите пожалуйста shortname этих игр, и id пользователей.
Mar 15, 2012
Юрий Гашпар
Shortname profile no. в Одноклассниках
astrochat 40773928344
sovmest 43687727229
обоим пользователям оба приложения возвращают один uid 14322308581
Apr 02, 2012
Илья Осинцев
Здравствуйте! Я зарегистрировал приложение, получил необходимые ключи. Но воспользоваться REST API не удается. Все время AUTH_LOGIN : Application with ID [61651456] not authorized to perform login независимо от типа приложения. Application ID: 61651456
Apr 02, 2012
Edgars Strods
в ближайшее время мы будем отказыватся от этого метода. Используйте пожалуйста авторизацию через OAuth - http://dev.odnoklassniki.ru/wiki/pages/viewpage.action?pageId=12878032
Apr 24, 2012
Александр Бреус
То есть OAuth будет основным (и единственным) методом авторизации? Очень хорошо.
Как я понял, OAuth сейчас работает только с EXTERNAL приложениями. Скажите, пожалуйста, есть надежда, что будут показываться аваторки во внешних приложениях при авторизации по OAuth? Или пока даунгрейдиться на auth.login?
Apr 24, 2012
Edgars Strods
занимаемся решением этой проблемы, единственное не могу пока сказать точную дату когда именно это будет реализовано