Мне нужно ударить api с помощью Auth Digest в Android.does Поддержка Android AuthDigest? Какой клиент лучше всего подходит для одного и того же.AuthDigest с модификацией для android
0
A
ответ
0
Вы просто должны положить параметры заголовка к вашему дооснащения вызову:
@POST('route')
Call<Object> route(
@Header("Authorization") String authorization
);
1
я получил ответ на мой вопрос. Digest в основном используется для создания защищенного ключа, и этот ключ используется с модификацией ключа авторизации, если этот сгенерированный ключ также сопоставляется с сервером, чем вы авторизованы и можете попасть в Api.
Я создал ключ sercure и использовал алгоритм MD5.
public static String tryDigestAuthentication(String username, String password,String REQUEST_TYPE,String cNounce,String mUri)
{
/*String auth = input.getHeaderField("WWW-Authenticate");
if(auth == null || !auth.startsWith("Digest ")){
return null;
}
final HashMap<String, String> authFields = splitAuthFields(auth.substring(7));*/
MessageDigest md5 = null;
try{
md5 = MessageDigest.getInstance("MD5");
}
catch(NoSuchAlgorithmException e){
return null;
}
Joiner colonJoiner = Joiner.on(':');
String HA1 = null;
String HATemp = null;
try{
md5.reset();
String ha1str = colonJoiner.join(username,
"Private", password);
md5.update(ha1str.getBytes());
byte[] ha1bytes = md5.digest();
HATemp = bytesToHexString(ha1bytes);
Log.e("HATTEMP-->",newByteToHex(ha1bytes));
String haTstr = colonJoiner.join(HATemp, "WpcHS2/TBAA=dffcc0dbd5f96d49a5477166649b7c0ae3866a93",cNounce);
md5.update(haTstr.getBytes("ISO-8859-1"));
byte[] haTbytes = md5.digest();
HA1 = bytesToHexString(haTbytes);
Log.e("HA1-->",newByteToHex(haTbytes));
}
catch(UnsupportedEncodingException e){
return null;
}
String HA2 = null;
try{
md5.reset();
String ha2str = colonJoiner.join(REQUEST_TYPE,mUri);
md5.update(ha2str.getBytes("ISO-8859-1"));
HA2 = bytesToHexString(md5.digest());
Log.e("HAT2-->",newByteToHex(md5.digest()));
}
catch(UnsupportedEncodingException e){
return null;
}
String HA3 = null;
try{
md5.reset();
String ha3str = colonJoiner.join(HA1, "WpcHS2/TBAA=dffcc0dbd5f96d49a5477166649b7c0ae3866a93","00000001" ,
cNounce,"auth",HA2);
md5.update(ha3str.getBytes("ISO-8859-1"));
HA3 = bytesToHexString(md5.digest());
Log.e("HAT3-->",newByteToHex(md5.digest()));
}
catch(UnsupportedEncodingException e){
return null;
}
StringBuilder sb = new StringBuilder(128);
sb.append("Digest ");
sb.append("cnonce" ).append("=\"").append(cNounce).append("\",");
sb.append("uri" ).append("=\"").append(mUri).append("\",");
//sb.append("qop" ).append('=' ).append("auth" ).append(",");
sb.append("response").append("=\"").append(HA3 ).append("\"");
// try{
// final HttpURLConnection result = (HttpURLConnection)input.getURL().openConnection();
// result.addRequestProperty("Authorization", sb.toString());
// return result;
// }
// catch(IOException e){
// return null;
// }
return sb.toString();
}
Смежные вопросы
- 1. Первый день с модификацией Android
- 2. Как разобрать json с модификацией в android
- 3. POST с модификацией 2.0
- 4. Проблема с «модификацией таксономии»
- 5. Последовательные запросы с модификацией
- 6. MST с модификацией
- 7. Исключение с одновременной модификацией
- 8. @POST массив с модификацией
- 9. Проблема с модификацией устройства GCM
- 10. Одна строка для цикла с модификацией объекта
- 11. Несколько запросов с модификацией для объединения результатов
- 12. Python для цикла с модификацией iterationlist
- 13. Автоматическая компиляция с модификацией ресурса
- 14. Проблема с модификацией CSS Laravel
- 15. Исходный код дерева с модификацией
- 16. Исключительное исключение с одновременной модификацией
- 17. написать CSV-файл с модификацией
- 18. Что-то не так с модификацией Ratchet
- 19. Загрузить двоичный файл с модификацией 2 в Android
- 20. PageSettings неожиданно завершается модификацией
- 21. Разница между модификацией и модификацией в boost multi_index_container
- 22. с использованием Rxjava с модификацией и realm
- 23. Сериализация классов с модификацией в .net 2.0
- 24. Как просмотреть HTML-дом с модификацией jQuery?
- 25. таможенный контроль валидатор с той же модификацией
- 26. Проанализируйте вложенный json с модификацией 2.0
- 27. Проблема с модификацией события ядра jQuery
- 28. Как получить gziped xml-файлы с модификацией?
- 29. трудности с поиском и модификацией подвью
- 30. PHP boolean для строки с модификацией и условием
У меня disgest авторизация с именем = "тест", Pasword = "" 123456, Realm = Privatre, как я мог генерировать заголовок, используя это имя пользователя, пароль и область. также может быть некоторый MD5-алгоритм, который генерирует некоторый ключ ответа. вы можете помочь в отношении того же .. –
при авторизации ключ заголовок будет автоматически генерировать в дайджете auth, который будет аутентифицировать мой запрос, но его не работает –
Вы можете создать строку авторизации из учетных данных: https://en.wikipedia.org/ wiki/Digest_access_authentication – Yoleth