wiki:Ru:Help/Dialog/OAuthAuthorisationWizard

Version 4 (modified by ak099, 3 years ago) (diff)

--

Перевод пока не завершён

Другие языки:

Мастер авторизации OAuth

Что такое OAuth

OAuth — это открытый протокол, обеспечивающий API для безопасной авторизации простым и стандартным методом как с персонального компьютера, так и из веб-приложений.

Стандартный случай использования — безопасное хранение вашего пароля OSM

Стандартное использование OAuth в OSM — для хранения вашего пароля к OSM более защищённым, чем при обычной аутентификации.

OAuth имеет два больших преимущества по сравнению с обычной аутентификацией:

  1. Пароль к OSM не хранится в виде открытого текста в файле настроек JOSM.
  2. Ваш пароль передаётся через Интернет только один раз через защищённое соединение, в то время, как при обычной аутентификации пароль передаётся открытым текстом как часть каждого запроса из JOSM к серверу OSM.

В терминологии OAuth, пользователь JOSM авторизует (санкционирует) JOSM получать доступ к серверу OSM в интересах пользователя. Во время процесса авторизации пароль OSM не нужно вводить в диалоговом окне JOSM, если пользователь не полностью доверяет JOSM (разве что из соображений удобства см. здесь). Вместо этого, сервер OSM выпускает маркер доступа (токен), который JOSM будет предъявлять серверу OSM при отправке данных. Маркер доступа не раскрывает пароль пользователя и его можно отозвать в любое время.

Более сложный случай использования — делегирование доступа другим картографам

Более сложное использование OAuth — для делегирования доступа к вашей учетной записи в OSM другим пользователям. OAuth позволяет при необходимости предоставлять другому пользователю ограниченный доступ к вашему аккаунту.

Пример: картограф A может доверить картографу Б право скачивать его приватные GPS-треки с веб-сайта OSM. Картограф A генерирует маркер доступа OAuth и ограничивает его права до "Разрешить загружать свои GPS-треки". Затем он отправляет по электронной почте свой маркер картографу Б. Тот вводит маркер доступа в JOSM и после этого получает право скачивать приватные треки картографа A с сервера OSM. Но он не может отправлять данные от имени A и не знает его пароль к OSM. В любое время A может отозвать (аннулировать) маркер доступа, выпущенный для Б.

Мастер авторизации OAuth

Мастер авторизации Oauth расположен в секции Параметры соединения настроек JOSM.

Что означает аутентификация/авторизация?

Когда вы отправляете геоданные на сервер OSM, вы сообщаете серверу, кто вы такой. Сервер OSM идентифицирует каждого присылающего данные картографа, запрашивая его имя пользователя OSM. Затем серверу OSM необходимо аутентифицировать его личность, т.е. надёжно определить — тот ли он, за кого себя выдаёт. Для этой цели он запрашивает пароль в дополнение к имени пользователя. Сервер подразумевает, что тот, кто знает секретный пароль для имени пользователя xyz — это и есть xyz. Картографу, вошедшему с аутентифицированным именем пользователя и паролем, предоставляются весьма широкий круг действий на сервере. Ему авторизовано право присылать данные, создавать пакеты правок, закрывать пакеты правок, присылать GPS-треки, читать и изменять персональные настройки на сервере, приглашать других людей в качестве друзей, отправлять почтовые сообщения другим учётным записям, и т.п. В настоящее время невозможно создать учётную запись OSM с именем пользователя и паролем, права которой были бы ограниченными, например, чтобы пользователь мог только загружать GPS-треки, но не отправлять данные. Тот, кто успешно аутентифицировался, указав имя пользователя и пароль OSM, тот полностью авторизован выполнять любые доступные любому пользователю OSM действия на сервере.

Именно здесь вступает в игру OAuth: OAuth позволяет вам авторизовать кого-то ещё для выполнения ограниченного круга действий в ваших интересах. Вместо разглашения вашего имени пользователя и пароля OSM, которые бы позволили выполнять их получателю любые действия на сервер OSM, вы просто выдаёте ему «билет», на котором перечислены предоставляемые права. Этот «билет» и называется маркером доступа. К маркеру доступа применимы следующие ограничения:

  • маркер действителен лишь для определённого клиента (в терминологии OAuth — потребителя (consumer)), т.е. только для JOSM, а не для OpenStreetBugs
  • маркер действителен лишь для определённых операций, например, только для отправки GPS-треков, но не для отправки картографических данных
  • маркер действует лишь в течение определённого периода времени, например, только сегодня (но это пока не поддерживается сервером OSM)

In addition to username/password pairs, the OSM server also accepts OAuth Access Tokens to authenticate and authorise a user. More specifically, it accepts requests signed with such a token, but this is beyond of the scope of this online help.

The OAuth Authorisation Wizard allows you to receive a valid OAuth Access Token, provided that you have an OSM username and OSM password, or to enter and use an OAuth Access Token in JOSM, provided that you got one from somebody else who has an OSM username and an OSM password.

Fully automatic authorisation process

The easiest way to get an Access Token is to let JOSM fully automatically retrieve one from the OSM server.

  1. Step 1/3 - Open the preferences dialog

Click on the Preferences button in the toolbar. In the dialog, select the Connection Setting tab.

  1. Step 2/3 - Get the Access Token

Enter your OSM username and your OSM password and click on Authorise now.

No image "fully-authomatic-1.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

  1. Step 3/3 - Accept the Access Token

JOSM displays the retrieved Access Token.

No image "fully-authomatic-2.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

  • Deselect the checkbox Save to preferences if you don't want to save the Access Token in the JOSM preferences. If you don't save it the Access Token will be lost when you close JOSM. If you later startup JOSM again you will have to retrieve a new Access Token to work with OAuth based authentication again.
  • Click on Test Access Token" to test the token
  • Click on Accept Access Token to accept it.

Restricting the granted privileges

When JOSM fully-automatically requests and authorises an Access Token, it grants it five privileges:

  • the right to upload data to the OSM server
  • the right to upload GPS traces to the OSM server
  • the right to download private GPS traces from the OSM server
  • the right to read the preferences stored on the OSM server
  • the right to write preferences stored on the OSM server

These are the default settings. If you want to restrict the granted privileges:

  1. Click the tab Granted rights
  2. Deselect each privilege which should not be granted to the requested Access Token

No image "fully-authomatic-privileges.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

Advanced OAuth parameters

When JOSM fully-automatically requests and authorises an Access Token, it uses default values for the OAuth parameters. Advanced users may want to change these parameters

  • in order to use a different Consumer Token (consisting of a Consumer Key and a Consumer Secret). This allows you to create your own Consumer Token for JOSM and then use it in JOSM.
  • in order to use it on a different than the standard OSM server. For instance, this allows users to use OAuth with an OSM development server or with a local installation of the OSM server application.

In order to edit the Advanced OAuth parameters

  1. Click the tab Advanced OAuth parameters
  2. Deselect the checkbox Use default settings
  3. Enter your values for the five OAuth parameters

No image "fully-automatic-advanced.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

Semi-automatic authorisation process

You can also retrieve an Access Token semi-automatically. If you use this process you have to use both dialogs in JOSM and the OSM website launched in an external browser to create and authorise the Access Token. In contrast to the fully automatic process you never have to enter your OSM username or your OSM password into a JOSM dialog. This process is therefore suitable for a user which - for whatever reason - never wants to use their OSM password outside of the secure login page of the OSM website. The fully automatic process runs exactly the same steps that would run manually in the semi-automatic process, just without your intervention.

  1. Step 1/3 - Get the Request Token

Click on Retrieve Request Token to retrieve an OAuth Request Token.

No image "semi-automatic-step-1.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

  1. Step 2/3 - Authorise the Request Token in an external browser

JOSM now launches an external browser with the OSM website. Please login and follow the instructions. Then switch back to the OAuth Authorisation Wizard and click on Retrieve Access Token.

No image "semi-automatic-step-2.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

  1. Step 3/3 - Accept the Access Token

JOSM displays the retrieved Access Token. Click on Accept Access Token to accept it.

No image "semi-automatic-step-3.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

Advanced OAuth parameters

When JOSM semi-automatically requests and authorises an Access Token, it uses default values for the OAuth parameters. Advanced users may want to change these parameters

  • in order to use a different Consumer Token (consisting of a Consumer Key and a Consumer Secret). This allows you to create your own Consumer Token for JOSM and then use it in JOSM.
  • in order to use it on a different than the standard OSM server. For instance, this allows users to use OAuth with an OSM development server or with a local installation of the OSM server application.

In order to edit the Advanced OAuth parameters

  1. Select the checkbox Display Advanced OAuth Parameters
  2. Enter your values for the five OAuth parameters

No image "semi-automatic-advanced.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

Manual authorisation process

The manual authorisation process allows you to enter an arbitrary Access Token. You can use this process

  • to enter an Access Token you have kept in a secure place, for instance in a secure store for credentials
  • to enter an Access Token you have received from somebody else, for instance from another mapper who granted you restricted account access
  1. Step 1/1 - Enter the Access Token and accept it

Enter the Access Token and click on Accept Access Token.

No image "manual.png" attached to Ru:Help/Dialog/OAuthAuthorisationWizard

Advanced OAuth parameters

Troubleshooting

  • If you are working on a university or corporate network, a firewall may prevent the OAuth authentification request.
    Please check the corresponding connection with your network engineer.

Back to Connection settings
Back to Main Help