¿Existe una implementación de proveedor OAuth 2.0 en Java? (no cliente de oauth) [cerrado]

81

Básicamente, quiero proteger mis API con OAuth 2.0 e implementar un proveedor OAuth para permitir la adquisición de accessTokens, etc.

¿Se puede hacer con JOAuth listo para usar?

¿Alguien ya ha implementado algo como esto con una biblioteca de código abierto (Java)?

JustGoscha
fuente
Escribí JOAuth y no fue diseñado para ser un proveedor de servicios. Fue diseñado para realizar la autenticación completa de servidor a cliente (su aplicación web es el cliente).
Buhake Sindi

Respuestas:

61

Spring Security tiene un subproyecto OAuth con soporte para OAuth 1.0ay OAuth2 (tanto cliente como servidor). Tienen código de muestra en su repositorio de GitHub:

Apache Amber ( http://oltu.apache.org/ ) es otro proyecto ( ahora en desuso ) que hace que sea bastante sencillo construir un proveedor OAuth2. Ver:

Christophe L
fuente
1
spring-security-oauth2 tiene algún problema con la actualización del token de actualización, sugeriré que no lo intente ahora, vea el problema en el proyecto github
Dimitri Kopriwa
2
Solo para que conste, a partir del 21 de marzo de 2018, Apache Oltu se ha retirado: whimsy.apache.org/board/minutes/Oltu.html
rkosegi
En el momento de este comentario, Spring Security OAuth está en modo de mantenimiento.
Vinh VO
5

La sección de implementaciones de OAuth 2.0 Code and Services enumeró tanto las bibliotecas del lado del servidor como las bibliotecas de cliente de una manera bastante completa.

León
fuente
-1

Puede bifurcar el repositorio scribe git en github . He usado scribe y es muy fácil, y es genial trabajar con Pablo (el creador). Él te ayudará.

kentcdodds
fuente
1
sí, tal vez lo haga. Ya utilicé Scribe para algún código de cliente OAuth y estoy un poco familiarizado con él. Pero creo que primero probaré la seguridad de primavera, parecen tener una implementación de proveedor de OAuth 2 y una documentación ( enlace ) de la misma
JustGoscha
Jaja, respondió su propia pregunta :)
kentcdodds
11
Scribe es un cliente OAuth / OAuth2, no un proveedor.
Christophe L
Sí ... entendí mal la pregunta. No estoy seguro de por qué fue aceptado ...
kentcdodds