2012-01-20 15 views
8

Estoy implementando un proveedor OAuth2, y me gustaría tener un área en algún lugar de mi sitio web donde los desarrolladores inicien sesión y registren aplicaciones de terceros. Pero tengo dudas sobre cómo generar el identificador de cliente y el secreto de cliente de la aplicación. ¿Deben ser códigos aleatorios únicos, o tienen que tener alguna información significativa para el cliente? Supongo que podrían ser al azar.cómo generar el identificador de cliente OAuth y el secreto de cliente?

Bueno, he estado buscando las mejores prácticas sobre cómo hacer esto, pero no he encontrado tanto. Entonces, cualquier respuesta será apreciada.

PD: Estoy desarrollando en .NET MVC3 con una biblioteca llamada DotNetOpenAuth.

Respuesta

15

El identificador de cliente puede ser lo que usted desee. Puede ser su elección o cualquier cadena aleatoria.

El secreto del cliente debe ser una cadena aleatoria criptográficamente fuerte. Aquí es cómo puede generar uno:

RandomNumberGenerator cryptoRandomDataGenerator = new RNGCryptoServiceProvider(); 
byte[] buffer = new byte[length]; 
cryptoRandomDataGenerator.GetBytes(buffer); 
string uniq = Convert.ToBase64String(buffer); 
return uniq; 
+0

pero este código garantiza que la cadena sería única ??? – Daniel

+0

No. Pero el secreto del cliente no tiene que ser único. Solo debe ser el ID del cliente. Además, dada una "longitud" suficientemente larga en la muestra de código anterior (digamos, 32+) es estadísticamente * muy * improbable que se generen dos códigos idénticos. –

+0

¿Qué recomiendan para el secreto? – davidbitton

2

Las especificaciones no son claras acerca de cómo debe generarlas, pero dicen que deben ser cadenas aleatorias y únicas.

En el section #2.2, sobre el identificador de cliente:

El servidor de autorización emite al cliente un cliente registrado identificador - una cadena única que representa el registro información proporcionada por el cliente.

+0

Único sí, pero a las especificaciones no les importa si son "aleatorias". –

Cuestiones relacionadas