Pergunta

Eu tenho um serviço da Web simples que possui uma API Terceiros desenvolvedores pode acessar. A API segue principalmente os princípios de repouso.

Estou interessado em soluções para tornar a API mais segura, exigindo que os desenvolvedores usem certificados de clientes. Existe alguma soluções de código aberto ou outro conselho de implementação que você tenha que ajudasse nas APIs baseadas em REST usando certificados de nível de usuário para auth?

Foi útil?

Solução

Meu conselho genérico seria manter sua API separada de suas rotinas de autenticação. Seu servidor da web deve lidar com a interação para você.

As soluções para o seu lado do cenário de certificação do cliente dependem do seu ambiente. Você não postou isso aqui, mas parece que uma pesquisa no Google direcionada deve dar uma idéia do que é necessário.

Como você está fornecendo uma API para outras partes, você tem alguma consideração em relação ao suporte ambiental para esses desenvolvedores. Você está indo bem com uma base de repouso, e a maioria dos ambientes de programação vai interoperar com eles bastante bem.

O suporte ao certificado de cliente provavelmente está indo variar em termos de eficiência de suporte entre ambientes, plataformas, etc. Além disso, agora você está afetando a implementação do lado do cliente quando precisar de certificados. Isso quase certamente o colocará em uma posição de exigir que você apoie seus clientes e colocá -los em funcionamento com sua API. Isso significa familiaridade com outros idiomas, servidores da Web, estruturas etc.

Outras dicas

A biblioteca Python HTTP suporta Certificados de cliente, assim como a biblioteca urllib que fica no topo dela.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top