Questions tagged [oauth]

OAuth (Open Authorization) is a specification for client applications to access protected resources on behalf of a user. It was developed as an alternative to users handing out their login credentials to third-party applications.

Description

OAuth is an open standard for authorization. OAuth provides client applications a 'secure delegated access' to server resources on behalf of a resource owner. It specifies a process for resource owners to authorize third-party access to their server resources without sharing their credentials. Designed specifically to work with Hypertext Transfer Protocol (HTTP), OAuth essentially allows access tokens to be issued to third-party clients by an authorization server, with the approval of the resource owner, or end-user. The client then uses the access token to access the protected resources hosted by the resource server. OAuth is commonly used as a way for web surfers to log into third party web sites using their Google, Facebook or Twitter passwords, without worrying about their access credentials being compromised.

OAuth is a service that is complementary to, and therefore distinct from, OpenID. OAuth is also distinct from OATH, which is a reference architecture for authentication, not a standard.

Resources

20112 questions
62
votes
4 answers

Shouldn't Android AccountManager Store OAuth Tokens on a Per-App/UID Basis?

Android's AccountManager appears to fetch the same cached auth token for apps with different UIDs - is this secure? It does not seem compatible with OAuth2, since access tokens are not supposed to be shared between different…
60
votes
5 answers

Securly Storing OpenID identifiers and OAuth tokens

I am creating a web app that will use OpenID logins and OAuth tokens with Youtube. I am currently storing the OpenID identity and OAuth token/token secret in plain text in the database. Is it inappropriate to store these values as plain text? I…
Matt McCormick
  • 13,041
  • 22
  • 75
  • 83
60
votes
2 answers

View Vimeo private video with an OAuth token

Can anyone give a help in Vimeo API using scribe? My goal is to access a private video (which I uploaded) without having to force the user to put password (this process should be done in background). From what I understand / deduce from research is…
JMarques
  • 3,044
  • 4
  • 34
  • 55
59
votes
2 answers

How to properly use Bearer tokens?

I'm making an authorization system in PHP, and I came across this Bearer scheme of passing JWT tokens, I read [RFC 6750][1]. I've got the following doubts: How is this improving the security? The server responses the client with a JWT token in its…
Ashish Ranjan
  • 12,760
  • 5
  • 27
  • 51
57
votes
8 answers

Implementation HMAC-SHA1 in python

I am trying to use the OAuth of a website, which requires the signature method to be 'HMAC-SHA1' only. I am wondering how to implement this in Python?
xiaohan2012
  • 9,870
  • 23
  • 67
  • 101
57
votes
4 answers

Desktop applications only support the oauth_callback value 'oob'/oauth/request_token

I'm trying to authenticate with OAuth on NodeJS and I'm getting this error: Error getting OAuth request token : { statusCode: 401, data: '\n\n Desktop applications only support the oauth_callback value \'oob\'\n /oauth/request_token\n\n' } Here…
felipekm
  • 2,820
  • 5
  • 32
  • 42
55
votes
4 answers

405 POST method not allowed

I'm trying to develop a REST provider with OAuth. I'm using Django RESTFramework and DjangoOAuthToolkit. I did a GET and it works perfectly but I'm trying to use a POST and the server responds with {"detail": "Method 'POST' not allowed."} This is my…
ecorzo
  • 605
  • 1
  • 6
  • 7
55
votes
6 answers

Library for OAuth Provider (Java)

I'm looking for a Java library that helps me building an OAuth Provider. I must be able to receive OAuth signed requests and determine whether they are valid or not (checking the signature, timestamp and nonce values). Do you know if there's…
Pablo Fernandez
  • 103,170
  • 56
  • 192
  • 232
54
votes
3 answers

Keycloak integration in Swagger

I have a Keycloak protected backend that I would like to access via swagger-ui. Keycloak provides the oauth2 implicit and access code flow, but I was not able to make it work. Currently, Keycloak's documentation is lacking regarding which url should…
melistik
  • 541
  • 1
  • 4
  • 4
53
votes
15 answers

Amazon Cognito: How to stop getting "redirect_mismatch" error when redirecting from browser to Android app

I am trying to create a Android project where I authorize a user by having him log into Amazon Cognito in a browser, which should then redirect back to my app. Unfortunately, when the browser opens, instead of reaching the proper sign-in page, I…
JHowzer
  • 3,684
  • 4
  • 30
  • 36
52
votes
2 answers

What is an opaque token?

And what does it mean that they are in a "proprietary format"? I am reading about JWT refresh tokens and they are opaque tokens, but I don't understand the term.
sloneorzeszki
  • 1,274
  • 3
  • 12
  • 22
52
votes
5 answers

Should jwt web token be encrypted?

I was reading article on JWT web token as an access token that is being response to the user. Some of it mention that the web token should be able to be decoded by the user. Does it means that it is not a good practice to decrypt the entire web…
vincentsty
  • 2,963
  • 7
  • 34
  • 51
52
votes
2 answers

How to generate an HMAC in Java equivalent to a Python example?

I'm looking at implementing an app getting Twitter authorization via Oauth in Java. The first step is getting a request token. Here is a Python example for app engine. To test my code, I am running Python and checking output with Java. Here is an…
dfrankow
  • 20,191
  • 41
  • 152
  • 214
52
votes
4 answers

How to use OAuth2RestTemplate?

I'm trying to understand how to use a OAuth2RestTemplate object to consume my OAuth2 secured REST service (which is running under a different project and let's assume also on a different server etc...) An example of my REST service…
Joachim Seminck
  • 721
  • 1
  • 8
  • 10
49
votes
1 answer

Issuing "API keys" using Keycloak

My setup has three components: A backend application (Python/Flask) A frontend application (VueJS) Keycloak The frontend will use Keycloak to let users sign in and use the access tokens to authenticate requests to the backend. So far so good. Now…
Marco Lamina
  • 3,326
  • 4
  • 22
  • 22