0

Support forum Problema numa HostedApp com OAuth2

Boa tarde,
Gostaria de saber se me poderiam ajudar com um problema que estou a ter em configurar uma HostedApp com OAuth2?
Estou a usar o spring security para fazer a autenticação com o oauth e sempre que tento a aceder a um resource do oauth aparece-me o seguinte erro:

org.springframework.security.oauth2.client.resource.UserRedirectRequiredException: A redirect is required to get the users approval
org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider.getRedirectForAuthorization(AuthorizationCodeAccessTokenProvider.java:305)


Os dados que usei para configurar o resource são os seguintes:

<oauth:resource id="evitaResource" type="authorization_code" access-token-uri="https://auth.evida.pt/v2/token" client-id="<consumer key>" client-secret="<consumer secret>"
user-authorization-uri="https://auth.evida.pt/v2/authorize" scope="user" />

Sendo que o client-id está preenchido com a consumer key e o client-secret com o consumer secret. Estes dados encontram-se correctos ?


Cumprimentos

Comments


Avatar for admin
Staff
From: admin on Feb 17 2014 at 3:50PM

Viva,

Os dados estarão correctos, mas conforme indicado no RFC do OAuth2.0, na secção section-4.1.3 (http://tools.ietf.org/html/rfc6749#section-4.1.3) correspondente ao "grant_type" com o valor "authorization_code", há um campo "redirect_uri" que terá obrigatoriamente de ser facultado.

Sempre que tiveres qualquer dúvida não hesites em contactar o Fórum de Suporte,
Equipa eVida

Avatar for lsilveira
From: Luis Silveira on Feb 21 2014 at 12:40PM

Bom dia,
Já resolvi esse problema, mas surgiu-me outro. O processo de pedir login ao utilizador e depois o pedido de permissão são feitos, mas depois do utilizador aceitar o pedido de permições, aparece um erro que diz:
HTTP Status 500 - Request processing failed; nested exception is error="access_denied", error_description="Access token denied."
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is error="access_denied", error_description="Access token denied."
error="invalid_request", error_description="No client_id"

O url que me aparece da pagina de aceitar permissões da aplicação é o seguinte:
https://auth.evida.pt/v2/authorize?client_id=274c660ddb76313e644dcfe00e00b0&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Ftonr2%2Fsparklr%2Fphotos&response_type=code&scope=user&state=JMByYq

Será que me podiam ajudar?
Se tivessem algum exemplo de autenticação com oauth2 que pudessem disponibilizar, agradecia visto que é urgente ter isto pronto.

Cumprimentos

Avatar for admin
Staff
From: admin on Feb 21 2014 at 2:39PM

Boa tarde,

O client_id que está a ser usado é a Consumer Key obtido na plataforma?

Quanto a exemplos, talvez este ajude:
https://github.com/evida/global-health-workshop/blob/master/exercises/Step8/

Cumprimentos,
Equipa eVida

Avatar for lsilveira
From: Luis Silveira on Feb 21 2014 at 5:22PM

Boa tarde,
Reparei que o token está a ser devolvido no formato json, penso que o problema poderá vir dai. Voçês têm algum parametro que passado adicionalmente ao url do token troque o formato para xml?

Cumprimentos

Avatar for admin
Staff
From: admin on Feb 21 2014 at 5:31PM

Boa tarde,

Não, devolvemos apenas em JSON.

Cumprimentos,
Equipa eVida

Avatar for lsilveira
From: Luis Silveira on Feb 24 2014 at 12:40AM

Boa noite,
Estive a ver o vosso exemplo e reparei que usam URLs diferentes dos que estão na documentação, como o https://evida.pt/appbase/auth2/ em vez do acesso ao token https://auth.evida.pt/v2/token e o de autorização https://auth.evida.pt/v2/authorize. Também reparei que apenas usam a consumer key e não o consumer secret.
Será que estarei a ter problemas devido a essas diferenças? Já experimentei troca-los mas mesmo assim o erro que descrevi a cima continua a acontecer.
Poderiam-me dar um contacto em que vos poderei contactar mais rapidamente, visto que preciso ter o problema resolvido até terça-feira?

Cumprimentos

Avatar for admin
Staff
From: admin on Feb 24 2014 at 11:12AM

Bom dia,

Os endereços disponibilizados na documentação são os correctos. O https://evida.pt/appbase/auth2/ era o url antigo da API de users, sendo que apenas está nesse exemplo por este ter sido feito antes dos endpoints serem actualizados. Obrigado por o fazeres notar, isso será corrigido.

Nesse exemplo apenas é usado o consumer key, porque se segue o fluxo de OAuth 2.0 de implicit grant, cuja especificação está em http://tools.ietf.org/html/rfc6749#section-4.2.

Os problemas não serão, assim, causados por nenhum desses factores.

Já te contactámos com instruções de como nos podes contactar.

Cumprimentos

Avatar for lsilveira
From: Luis Silveira on Feb 24 2014 at 1:03PM

Boa tarde,

Reparei que também me aparece o seguinte erro na consola do chrome:
Refused to display 'https://auth.evida.pt/v2/authorize?client_id=1931317c8a8187770392588dc633af…ritas%2Fadmin%2FhomeAssunto.do2&response_type=code&scope=user&state=EADoF5' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

Cumprimentos

Avatar for lsilveira
From: Luis Silveira on Feb 24 2014 at 1:10PM

Boa tarde,

Poderiam voltar a contactar com as instruções de como vos posso contactar? Não encontrei essas instruções.

Cumprimentos

Avatar for admin
Staff
From: admin on Feb 24 2014 at 2:52PM

Boa tarde,

Não estamos a mexer nesse header. Será que o problema não será do teu lado?

As instruções foram reenviadas.

Cumprimentos,
equipa eVida

Avatar for admin
Staff
From: admin on Oct 31 2014 at 12:16PM

Bom dia,

Podemos fechar este issue?

Obrigado,
equipa eVida

Avatar for lsilveira
From: Luis Silveira on Oct 31 2014 at 12:21PM

Bom dia,
Sim, está resolvido.

Obrigado