[[TranslatedPages]] = OAuth-assistent voor autorisatie = [[TOC(inline)]] == OAuth in een notendop == [http://oauth.net/ OAuth] is een open protocol om veilige autorisatie voor API mogelijk te maken op een eenvoudige en gestandaardiseerde methode vanaf desktop en webtoepassingen. === Bij standaard gebruik - houd uw wachtwoord voor OSM privé === Het standaard gebruik in OSM is voor OAuth om uw wachtwoord voor OSM meer privé te houden dan met Basis-authenticatie. OAuth heeft twee belangrijke voordelen op basis authenticatie: 1. Uw wachtwoord voor OSM hoeft niet in heldere tekst te worden opgeslagen in het voorkeurenbestand van JOSM. 1. Uw wachtwoord voor OSM behoeft slechts '''eenmaal''' versleuteld te worden overgedragen over het internet via een '''veilige verbinding''', in tegenstelling tot de basis authenticatie waarbij uw wachtwoord, als deel van elk verzoek dat wordt verzonden vanuit JOSM, in heldere tekst wordt overgedragen aan de server van OSM. In terminologie van OAuth: een gebruiker van JOSM autoriseert JOSM om toegang te krijgen tot de server van OSM ten dienste van de gebruiker. Gedurende het autorisatieproces behoeft het wachtwoord voor OSM nooit ergens te worden ingevoerd in een dialoogvenster van JOSM als de gebruiker JOSM niet volledig vertrouwt (tenzij men dat wil om redenen van gebruik [wiki:/Help/Dialog/OAuthAuthorisationWizard#FullyAutomaticAuthorisation zie hier]). In plaats daarvan geeft de server van OSM server een Toegangstoken uit dat JOSM presenteert aan de server van OSM als het gegevens upload ten dienste van de gebruiker. Toegangstokens onthullen niet het wachtwoord van de gebruiker en zij kunnen op elk moment worden ingetrokken. === Bij gevorderd gebruik - toegang delegeren aan andere mappers === Een meer gevorderd gebruik van OAuth is om toegang te delegeren met uw account voor OSM aan andere mappers. OAuth staat u toe om een andere gebruiker, indien nodig, beperkte toegang te geven tot uw account. Voorbeeld: Mapper A kan mapper B het recht toekennen om zijn privé GPS-sporen te downloaden vanaf de website van OSM. Mapper A zou een OAuth Toegangstoken genereren en dat beperken tot het privilege "Download mijn privé GPS-sporen". Mapper A zou dan een e-mail met het Toegangstoken aan Mapper B verzenden. B kan het Toegangstoken in JOSM invoeren en is nu gerechtigd om de privé GPS-sporen van A te downloaden vanaf de server van OSM. B zou echter niet gerechtigd zijn om gegevens op naam van A te uploaden en kent het wachtwoord van A voor OSM niet. A kan op elk moment het Toegangstoken dat is uitgegeven aan B in te trekken. == De OAuth-assistent voor autorisatie == === Wat betekent authenticatie/autorisatie? === Wanneer u geo-gegevens upload naar de server van OSM dient u de server te vertellen wie u bent. De server van OSM zal elke mapper die upload '''identificeren''' door naar een gebruikersnaam voor OSM te vragen. De server van OSM dient vervolgens deze identiteit te '''authenticeren''', d.i. om betrouwbaar te bepalen of de mapper wel inderdaad de betrokken gebruiker is. Voor dit doel vraagt het naar een wachtwoord in aanvulling op de gebruikersnaam. De aanname van de server is dat degene die het geheime wachtwoord weet voor de gebruikersnaam xyz voldoende betrouwbaar geauthenticeerd is om xyz ''te zijn''. Een mapper die is ingelogd met een geauthenticeerde gebruikersnaam en wachtwoord heeft de rechten om een breed scala aan bewerkingen op de server uit te voeren. De mapper is '''geautoriseerd''' om gegevens te uploaden, om wijzigingensets te maken, om wijzigingensets te sluiten, om GPS-sporen te uploaden, om persoonlijke voorkeuren op de server te lezen en te wijzigen, om andere te inviteren vrienden te worden, om e-mails naar andere accounts te versturen, etc. Momenteel is het niet mogelijk om een account voor OSM aan te maken met een gebruikersnaam voor OSM en een wachtwoord met beperkte rechten, d.i. een account dat alleen in staat zou zijn GPS-sporen te uploaden, maar geen gegevens voor kaarten. Degene die zich succesvol heeft '''geauthenticeerd''' met een gebruikersnaam van OSM en een wachtwoord voor OSM is '''volledig geautoriseerd''' om alles te doen dat een gebruiker van OSM normaal gesproken op de server kan doen. Dit is waar OAuth in het spel komt: OAuth stelt u in staat om iemand anders te '''autoriseren''' om op een beperkte manier namens u te handelen. In plats van uw gebruikersnaam voor OSM en uw wachtwoord voor OSM weg te geven, wat de ontvanger volledige rechten zou geven om namens u op de server van OSM te handelen, geeft u alleen een "ticket" weg waarop de toegekende rechten staan vermeld. Dit ticket wordt een '''Toegangstoken''' genoemd. Beperkingen die worden toegepast op een Toegangstoken zijn inclusief: * een Toegangstoken is alleen geldig voor een specifieke cliënt (een Consumer genoemd in terminologie van OAuth), d.i. alleen voor JOSM, maar niet voor OpenStreetBugs * een Toegangstoken is alleen geldig voor specifieke bewerkingen, d.i. alleen voor uploaden van GPS-sporen, maar niet voor het uploaden van gegevens voor kaarten * een Toegangstoken zou alleen geldig kunnen zijn voor een bepaalde periode, d.i. alleen vandaag, maar dit wordt nog niet ondersteund door de server van OSM In aanvulling op de paren gebruikersnaam/wachtwoord accepteert de server van OSM ook Toegangstokens van OAuth om een gebruiker te authenticeren en te autoriseren. Meer specifiek, hij accepteert verzoeken ''die zijnondertekend door een dergelijk token'', maar dat ligt buiten het bereik van deze online help. De OAuth-assistent voor autorisatie maakt het u mogelijk een geldig Toegnagstoken voor OAuth te ontvangen, vooropgesteld dat u een gebruikersnaam en wachtwoord voor OSM hebt, of om een Toegangstoken van OAuth in JOSM in te voeren en te gebruiken, vooropgesteld dat u er een heeft van iemand die een gebruikersnaam en wachtwoord voor OSM heeft. === 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. 2. '''Step 2/3''' - Get the Access Token Enter your OSM username and your OSM password and click on '''Authorise now'''. [[Image(fully-authomatic-1.png)]] 3. '''Step 3/3''' - Accept the Access Token JOSM displays the retrieved Access Token. Click on '''Accept Access Token''' to accept it. [[Image(fully-authomatic-2.png)]] ==== 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''' 1. Deselect each privilege which should not be granted to the requested Access Token [[Image(fully-authomatic-privileges.png)]] ==== Advanced OAuth parameters ==== #FullyAutomaticAdvanced 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''' 1. Deselect the checkbox '''Use default settings''' 1. Enter your values for the five OAuth parameters [[Image(fully-automatic-advanced.png)]] === 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. [[Image(semi-automatic-step-1.png)]] 2. '''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'''. [[Image(semi-automatic-step-2.png)]] 3. '''Step 3/3''' - Accept the Access Token JOSM displays the retrieved Access Token. Click on '''Accept Access Token''' to accept it. [[Image(semi-automatic-step-3.png)]] ==== 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''' 1. Enter your values for the five OAuth parameters [[Image(semi-automatic-advanced.png)]] === 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'''. [[Image(manual.png)]] =============== === Op OAuth gebaseerde authenticatie === De server van OSM ondersteunt OAuth in aanvulling op de basis authenticatie. Op OAuth gebaseerde authenticatie gebruiken 1. In Verbindingsinstellingen, ga naar de tab '''Authenticatie''' 1. Selecteer de authenticatiemethode '''OAuth gebaseerde authenticatie''' 1. Klik op '''Nu autoriseren''' om de [wiki:/Help/Dialog/OAuthAuthorisationWizard OAuth Autorisatie Wizard] te starten (zie schermafdruk hieronder) [[Image(Help/Preferences/Connection:oauth-preferences-step-1.png)]] Dit zal de [wiki:/Help/Dialog/OAuthAuthorisationWizard OAuth Autorisatie Wizard] starten. Gebruik één van de beschikbare authorisatieprocedures in dit dialoogvenster om een geldig '''Access Token''' te verkrijgen. JOSM geeft het gevonden Access Token weer in het paneel van de voorkeuren (zie schermafdruk hieronder): [[Image(Help/Preferences/Connection:oauth-preferences-step-2.png)]] Deselecteer het keuzevak '''Save to preferences''' als u het Access Token niet wilt opslaan in de voorkeuren van JOSM. Als u het niet bewaart zal het Access Token verloren gaan als u JOSM afsluit. Als u later JOSM opnieuw start zult u een nieuw Access Token moeten ophalen om opnieuw met op OAuth gebaseerde authenticatie te werken. Klik op '''Test Access Token''' om een testverzoek door te voeren met het token naar de server van OSM. JOSM zal analyseren of dit token geautoriseerd is om toegang te krijgen tot de server van OSM. Klik op '''New Access Token''' om een nieuw Access Token te genereren. ==== Gevorderde parameters voor OAuth ==== Selecteer het keuzevak '''Display Advanced OAuth parameters''' om de belangrijke parameters voor OAuth weer te geven * de [http://oauth.net/core/1.0/#anchor3 Consumer Key] en de [http://oauth.net/core/1.0/#anchor3 Consumer Secret] identificeren JOSM als een gebruiker van OAuth * de Request Token URL waar JOSM [http://oauth.net/core/1.0/#anchor3 Request Tokens] kan ophalen * de Access Token URL waar JOSM [http://oauth.net/core/1.0/#anchor3 Access Tokens] kan ophalen * de Authorise URL waarnaar gebruikers van JOSM worden geleid om een Request Token te autoriseren [[Image(Help/Preferences/Connection:oauth-advanced.png)]] == Proxy-instellingen == #ProxySettings JOSM communiceert met de server van OSM met behulp van het Hypertext Transfer Protocol ([http://en.wikipedia.org/wiki/Http HTTP]). Indien vereist kan het zijn verzoeken leiden langs een [http://en.wikipedia.org/wiki/Http_proxy HTTP proxy] of een [http://en.wikipedia.org/wiki/SOCKS SOCKS proxy]. 1. Ga naar de tab '''Proxy settings''' in de Verbindingsinstellingen 1. Selecteer één van de beschikbare opties en voor aanvullende parameters in voor de configuratie 1. Sla de voorkeuren op [[Image(Help/Preferences/Connection:proxy-settings.png)]] === Gebruiken van de standaard systeemproxy === Indien u altijd de proxy wilt gebruiken die is gedefinieerd als standaard proxy op uw computer moet u JOSM opstarten met een speciale opdracht. De opdrachtregel moet de parameter {{{-Djava.net.useSystemProxies=true}}} bevatten, bijvoorbeeld {{{java -Djava.net.useSystemProxies=true -jar josm.jar}}} === Gebruiken van de handmatig geconfigureerde proxy === Indien er geen noodzaak is voor persoonlijke authenticatie voor uw proxy, onthoud dan om het NT-domein in uw gebruikersnaam op te nemen, bijv. ''domein\gebruikersnaam''. Dit probleem vindt zijn oorsprong in de implementatie van de proxy in java.net.HttpURLConnection. ==== Advanced OAuth parameters ==== * See [wiki:/Help/Dialog/OAuthAuthorisationWizard#FullyAutomaticAdvanced advanced preferences in the fully automatic process].