<blockquote>
<p>In our case OAuth 1.0a each app only has the Consumer Key for identification, the association between user and the access token is established during the handshake. As a result there is no way I can see how you could go from the Consumer Key to the access token without re-authenticating the user and re-authorizing the app.</p>
</blockquote>
<p>I'm not sure I understand. I propose not to change OAuth implementation, but to make user UI for managing tokens more clear.</p>
<p>What I'm proposing (refined in this discussion) is:</p>
<ol>
<li>Display to a user not a list of tokens, but a list of applications. A "revoke" button revokes all tokens for the application.</li>
<li>When an application makes a redirect to the oauth page, search for the last token and if found, use the permissions list from it, immediately redirecting user to the next step.</li>
<li>To simplify the last step, store granted permissions separately from tokens, and add an "edit" button to the app list from step 1, allowing a user to view and modify a list of permissions for the app.</li>
</ol>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/1455#issuecomment-281713333">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABWnLU9skFW1jZpIu2EPL33fdSWDpZyZks5rfFw9gaJpZM4MIYe0">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABWnLYnrWi7rtAT6g9lJj_Xl2k_55IbEks5rfFw9gaJpZM4MIYe0.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/openstreetmap/openstreetmap-website/issues/1455#issuecomment-281713333"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/openstreetmap/openstreetmap-website","title":"openstreetmap/openstreetmap-website","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/openstreetmap/openstreetmap-website"}},"updates":{"snippets":[{"icon":"PERSON","message":"@Zverik in #1455: \u003e In our case OAuth 1.0a each app only has the Consumer Key for identification, the association between user and the access token is established during the handshake. As a result there is no way I can see how you could go from the Consumer Key to the access token without re-authenticating the user and re-authorizing the app.\r\n\r\nI'm not sure I understand. I propose not to change OAuth implementation, but to make user UI for managing tokens more clear.\r\n\r\nWhat I'm proposing (refined in this discussion) is:\r\n\r\n1. Display to a user not a list of tokens, but a list of applications. A \"revoke\" button revokes all tokens for the application.\r\n2. When an application makes a redirect to the oauth page, search for the last token and if found, use the permissions list from it, immediately redirecting user to the next step.\r\n3. To simplify the last step, store granted permissions separately from tokens, and add an \"edit\" button to the app list from step 1, allowing a user to view and modify a list of permissions for the app."}],"action":{"name":"View Issue","url":"https://github.com/openstreetmap/openstreetmap-website/issues/1455#issuecomment-281713333"}}}</script>