¿Cuántos caracteres de longitud puede tener oauth access token y oauth access secret ser y cuáles son los caracteres permitidos? Necesito almacenarlos en una base de datos.¿Cuáles son las características de un token OAuth?
Respuesta
No estoy seguro de que haya algún límite explícito. El spec doesn't have any. Dicho esto, los tokens OAuth a menudo se pasan como parámetros de url y, por lo tanto, tienen algunas de las mismas limitaciones. es decir, debe estar codificado correctamente, etc.
Un token de OAuth es conceptualmente una secuencia de bytes de tamaño arbitrario, no caracteres. En las direcciones URL, que se codifica mediante mecanismos estándar escapar URL:
unreserved = ALPHA, DIGIT, '-', '.', '_', '~'
Todo lo que no consigue sin reservas% codificados en.
No estoy seguro si solo habla sobre el parámetro oauth_token que se pasa. Por lo general, los parámetros adicionales deben almacenarse y transmitirse también, como oauth_token_secret, oauth_signature, etc. Algunos de ellos tienen diferentes tipos de datos, por ejemplo, oauth_timestamp es un número entero que representa segundos desde 1970 (codificado en dígitos ASCII decimales).
OAuth no especifica el formato ni el contenido de un token. Simplemente usamos pares de nombre-valor encriptados como token. Puede usar cualquier carácter en el token, pero es mucho más fácil de manejar si el token es URL-safe. Logramos esto codificando el texto cifrado con un Base64 seguro para URL.
Como mucha gente ya ha señalado. La especificación OAuth no le da la exacta direcciones pero que diga ...
citados a partir de: http://tools.ietf.org/html/draft-hammer-oauth-10#section-4.9
"Servidores deben tener cuidado para asignar -secretos compartidos que son lo suficientemente largo, y al azar suficiente, para resistir tales ataques durante al menos la duración de vez que los secretos compartidos son válidos ".
"Por supuesto, se insta a los servidores a errar en el lado de la precaución, y utilizar el secretos más largos razonables."
por el contrario, se debe considerar la longitud de la URL máximo de navegadores:
Si usted lee la especificación, se dice,
El servidor de autorización emite un cliente registrado
identificador - una cadena única que representa el registro
proporciona información d por el cliente. El identificador del cliente no es un secreto
; está expuesto al propietario del recurso y NO DEBE utilizarse
solo para la autenticación del cliente. El identificador de cliente es exclusivo de
el servidor de autorizaciones.El tamaño del string del identificador del cliente no está definido por esta especificación
. El cliente debe evitar hacer suposiciones sobre el tamaño del identificador
. El servidor de autorización DEBE documentar el tamaño
de cualquier identificador que emita.
En segundo lugar, el token de acceso debe enviarse como encabezado, no como un parámetro de URL.
Autorización: Portador < token>.
Para ser específico, incluso si la especificación de Oauth no dice nada, si está usando java y mysql, entonces será de 16 caracteres, ya que generalmente generamos los tokens usando UUID y lo almacenamos como BINARIO (16) en la base de datos . Conozco estos detalles ya que recientemente hice el desarrollo usando OAuth.
¿Quién es "nosotros" en esta respuesta? –
Quise decir "desarrolladores" por "nosotros" –
Los caracteres válidos para el token OAuth están limitados por las restricciones de valores del encabezado HTTP, ya que el token OAuth se envía con frecuencia en el encabezado HTTP "Autorización".
Los caracteres válidos para encabezados HTTP están especificados en https://tools.ietf.org/html/rfc7230#section-3.2.6. Alternativamente puede revisar cabecera HTTP de código de validación de algunas bibliotecas de cliente HTTP populares, por ejemplo, ver Headers.checkNameAndValue() util del marco OkHttp: https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/Headers.java
Y esto no es todo. No incluiría el separador de encabezado HTTP (y muchos otros) y los símbolos de espacio en blanco ('' y '\ t') y comillas dobles (") (ver https://tools.ietf.org/html/rfc7230#section-3.2.6) ya que sería necesario escapar el token OAuth antes de usarlo en el encabezado HTTP. Los humanos suelen utilizar tokens en las solicitudes de prueba curl, por lo que los buenos generadores de tokens no agregan dichos caracteres. Pero debe verificar qué caracteres pueden generar el generador de tokens de Oauth con el que funciona su servicio antes de hacer suposiciones.
- 1. ¿Cuáles son las mejores características de Scala?
- 2. ¿Cuáles son las características ocultas de Maven2?
- 3. ¿Cuáles son las características de un MBean JMX bien diseñado
- 4. ¿Cuáles son las características del código de spaghetti?
- 5. ¿Cuáles son las características de fuente predeterminadas en Android?
- 6. ¿Cuáles son las características propuestas más útiles de C1X?
- 7. ¿Cuáles son las características de ANTLR que XText no proporciona?
- 8. ¿Cuáles son las características/beneficios clave de RIA Services?
- 9. ¿Cuáles son algunas características útiles de TextMate?
- 10. ¿Cuáles son las características más abusadas en Visual Studio/C#?
- 11. ¿Cuáles son las nuevas características en Eclipse Helios?
- 12. ¿Qué significa stream? ¿Cuáles son sus características?
- 13. ¿Cuáles son las similitudes y diferencias entre las características de tipeo en Typed Racket y las características tipográficas en Clojure?
- 14. ¿Cuáles son las mejores características de un marco de capa de datos para aplicaciones WPF/MVVM?
- 15. OAuth 2.0 Token y Lifetime
- 16. ¿Cuáles son las cosas buenas de baba?
- 17. ¿Cuáles son algunas características interesantes del código fuente de EveryBlock.com?
- 18. Solicite el token OAuth de BitBucket
- 19. Formulario sin token CSRF: ¿cuáles son los riesgos
- 20. ¿Cuáles son las características del tipo de matriz de PHP como estructura de datos?
- 21. ¿Cuáles son las mejores características/más estables de la biblioteca de cierre de Google
- 22. ¿Cuáles son las características de rendimiento de la reflexión 'es' en C#?
- 23. ¿Cuáles son las características útiles de Emacs para el desarrollo de Rails
- 24. ¿Cuáles son las mejores características de Ruby on Rails, por qué elegir?
- 25. ¿Cuáles son las nuevas características útiles de ASP.NET en .NET Framework 3.5?
- 26. ¿Cuáles son algunas de las características más útiles aunque poco conocidas en el lenguaje PowerShell
- 27. ¿Cuáles son las alternativas a Google Analytics?
- 28. Ver video privado de Vimeo con un token de OAuth
- 29. ¿Cuáles son las nuevas características de .Net 4.5 para Visual Basic?
- 30. ¿Por qué se debe cambiar un token de solicitud autorizado de OAuth 1.0 por un token de acceso?
Google+ usa barra "/" para su OAuth 2.0 "código" también: '' código = 4/rymOMYEWum5IN20h0mXts9in0mRf'' –