usuarios studio registro hacer google ejemplo con autenticar autenticacion android http-authentication

hacer - login y registro android studio firebase



¿Cómo hacer la autenticación HTTP en android? (6)

El método manual funciona bien con import android.util.Base64, pero asegúrese de configurar Base64.NO_WRAP en la codificación de llamada:

String basicAuth = "Basic " + new String(Base64.encode("user:pass".getBytes(),Base64.NO_WRAP )); connection.setRequestProperty ("Authorization", basicAuth);

Estoy revisando la clase org.apache.http.auth. ¿Alguna más referencia o ejemplo si alguien tiene?


Esto funciona para mí

URL imageUrl = new URL(url); HttpURLConnection conn = (HttpURLConnection) imageUrl .openConnection(); conn.setRequestProperty("Authorization", "basic " + Base64.encode("username:password".getBytes())); conn.setConnectTimeout(30000); conn.setReadTimeout(30000); conn.setInstanceFollowRedirects(true); InputStream is = conn.getInputStream();


Para mí, funcionó,

final String basicAuth = "Basic " + Base64.encodeToString("user:password".getBytes(), Base64.NO_WRAP);

Apache HttpCLient:

request.setHeader("Authorization", basicAuth);

HttpUrlConnection:

connection.setRequestProperty ("Authorization", basicAuth);


Para mis proyectos de Android, he utilizado la biblioteca Base64 desde aquí:

http://iharder.net/base64

Es una biblioteca muy extensa y hasta ahora no he tenido problemas con ella.


Usted puede insertar manualmente el encabezado http para solicitar:

HttpGet request = new HttpGet(...); request.setHeader("Authorization", "Basic "+Base64.encodeBytes("login:password".getBytes()));


No he encontrado ese paquete en particular anteriormente, pero dice que es para la autenticación HTTP del lado del cliente, que he podido hacer en Android usando las API de java.net , así:

Authenticator.setDefault(new Authenticator(){ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("myuser","mypass".toCharArray()); }}); HttpURLConnection c = (HttpURLConnection) new URL(url).openConnection(); c.setUseCaches(false); c.connect();

Obviamente tu getPasswordAuthentication () probablemente debería hacer algo más inteligente que devolver una constante.

Si intentas realizar una solicitud con un cuerpo (por ejemplo, POST ) con autenticación, ten cuidado con el problema 4326 de Android . He vinculado una solución sugerida a la plataforma allí, pero hay una solución simple si solo quieres la autenticación básica: no molestes con Authenticator, y en cambio haz esto:

c.setRequestProperty("Authorization", "basic " + Base64.encode("myuser:mypass".getBytes(), Base64.NO_WRAP));