Estou tendo um problema ao fazer chamadas de API para meu back-end de aplicativos, cada conexão agora exibe
CredStore - performQuery - Error copying matching creds. Error=-25300, query={
atyp = http;
class = inet;
"m_Limit" = "m_LimitAll";
ptcl = http;
"r_Attributes" = 1;
srvr = "myappsurl.com";
sync = syna;
}
Estou um pouco perdido, pois não tenho certeza do que está causando isso, ou o que a CredStore faz. Qual é a finalidade da CredStore no iOS?
Respostas:
Este erro ocorre ao tentar recuperar um
URLCredential
deURLCredentialStorage
para um desconhecidoURLProtectionSpace
. por exemploproduz
Dê a ele uma credencial para o espaço de proteção:
e o erro desaparecerá na próxima vez que você tentar recuperar a credencial.
O armazenamento de credenciais no iOS permite que os usuários armazenem com segurança credenciais com base em certificado ou senha no dispositivo, seja temporária ou permanentemente no keychain.
Suspeito que você tenha algum tipo de autenticação em seu servidor de back-end e que o servidor esteja solicitando um desafio de autenticação para seu aplicativo (para o qual não existe credencial).
Provavelmente, ele pode ser ignorado com segurança, pois retornar nulo do
URLCredentialStorage
é uma resposta válidafonte
Não sei por que recebemos esse erro ao executar solicitações com Alamofire, mas se você fizer solicitações de API com algum token em cabeçalhos HTTP, talvez não precise de armazenamento de credenciais. Portanto, podemos desativá-lo para nossa solicitação:
Sem erros após essa mudança.
fonte
Este é um erro de transporte, vamos adicionar permissão de transporte como esta no arquivo plist:
Tenha cuidado, pois isso permite a conexão com qualquer servidor do seu aplicativo. Leia mais sobre segurança de transporte de aplicativos antes de continuar. Veja o comentário de @kezi
fonte
Esse mesmo problema acontece comigo e descobri que se o URL da API não contiver um "/" no final do URL, o iOS não enviará o valor "Autorização" para o servidor. Devido a isso, você verá uma mensagem como postada em questão no console.
Portanto, basta adicionar "/" no final do URL
fonte
Editei a String que contém o URL para corrigir esse problema:
fonte
Se você receber este erro, ao usar o AVPlayer, basta chamar .play () na linha de execução principal
fonte
A causa de ter recebido esse erro foi devido ao uso acidental de dois espaços entre o "Portador" e o token de acesso em meu cabeçalho de autorização.
Incorreta:
Corrigir:
Erro simples, mas demorou um pouco para encontrá-lo.
fonte
No meu caso, eu não estava inicializando Stripe SDK com a chave API.
No caso de qualquer operação do Stripe, podemos imprimir o log de erros, é de fácil compreensão.
fonte
OK, eu tive esse erro e lutei com ele por um longo tempo (anos) ao interagir com meu aplicativo Ruby on Rails.
Eu tinha credenciais padrão configuradas conforme descrito na resposta aceita, mas ainda assim obtive o erro e tenho contado com uma resposta didReceiveChallenge para fornecer as credenciais - felizmente, isso funcionou como uma solução alternativa.
Mas! Acabei de encontrar a solução!
Eu estava trabalhando em um palpite de que os campos protectedSpace não correspondiam ao desafio de autorização do servidor Ruby on Rails - e olhei para o campo de realm, que parecia ser o único que estava sendo deixado indefinido.
Comecei imprimindo os cabeçalhos de resposta do servidor e, embora pudesse examiná-los, eles não incluíam o campo WWW-Authorization que incluiria o campo realm.
Eu pensei que talvez fosse porque meu aplicativo Rails não estava especificando o reino, então comecei a olhar para o lado Rails das coisas.
Eu descobri que poderia especificar o reino na chamada para,
... que estou usando para autenticação HTTP Basic.
Eu não estava especificando um reino já, então adicionei um,
Em seguida, adicionei a string correspondente ao espaço de proteção,
Voila! Isso funcionou, e eu não consigo mais
Mesmo depois de especificar o realm no aplicativo Rails, ainda não o vejo passado no cabeçalho HTTP, não sei por que, mas pelo menos funciona.
fonte
O erro também pode ser causado por uma Política de Segurança de Conteúdo (CSP) que pode ser muito restritiva. No nosso caso, precisávamos de um CSP mais ou menos totalmente aberto e que permitisse tudo. Lembre-se de que abrir o CSP pode ser um grande problema de segurança (dependendo do que exatamente você está fazendo no aplicativo).
fonte
Tive esse problema quando tentei abrir uma página http dentro de uma visualização da web. Mas esta página continha um pop-up que foi aberto primeiro.
Quando a equipe de back-end removeu este pop-up, tudo ficou OK.
fonte
fonte