SAPO Connect

Gerir as minhas aplicações

O que é?

O SAPO Connect é para developers. Foi criado com o intuito de permitir a utilização dos serviços do SAPO de forma simples e segura usando aplicações Web ou Desktop.

O SAPO Connect usa protocolos standard bem documentados; pode ser usado em PHP, Perl, Python, Ruby, .Net ou qualquer linguagem que implemente estes standards nativamente ou usando libraries externas.

O SAPO Connect vem em dois sabores: oAuth e Login com o SAPO.

Login com o SAPO

Criar um novo site ou serviço implica desenvolver um repositório de utilizadores bem como todas as operações de manutenção, alteração de password, etc. O SAPO Connect através do método "Login com o SAPO" ajuda a resolver este problema. Como? Pondo à disposição do developer, uma forma de autenticação simples de implementar, tirando partido do maior agregado de utilizadores portugueses.

Integrar o "Login com o SAPO" significa reduzir as barreiras de acesso ao seu novo site. Os utilizadores não precisam passar por longos e tediosos processos de registo. Se já tiverem uma conta no SAPO, podem aceder de imediato

Para tal ao registar a aplicação deve seleccionar o recurso "Autenticação SAPO". Todo o workflow é identico, com a excepção do endpoint de autorização OAuth. No fim do workflow, a aplicação fica com um access token, que deverá ser usado para fazer uma chamada a um serviço que devolve o perfil de 1 utilizador SAPO. O output da operação além de um identificador único de utilizador SAPO, um email de contacto e o nome completo do utilizador, retorna todos os dados que o utilizador decide tornar públicos em https://id.sapo.pt/.

oAuth

Se precisa mais do que simples autenticação. Se a sua aplicação precisa aceder a recursos privados do utilizador, então tem de usar oAuth.

oAuth é um standard de autenticação usado de uma forma ou de outra, em vários serviços como Twitter, Facebook, etc. Se quiser saber mais, consulte a documentação oficial ou este guia e esta apresentação.

Ao usar oAuth, o developer pode aceder de forma segura a recursos privados alojados nos serviços do SAPO. É a forma recomendada para fazer posts nos blogs, obter listas de comentários, fotos, videos, etc.

O acesso carece sempre de uma autorização expressa do utilizador que não precisa deixar as suas credenciais dentro da aplicação expondo-as assim a terceiros.

O SAPO Connect implementa o protocolo OAuth 1.0a. Após o registo, é emitido um token de acesso, que ficará associado a uma aplicação. Quando a aplicação é usada por um utilizador do SAPO, este pode delegar uma autorização para esta aceda aos recursos em seu nome.

oAuth::Para que serve?

Nada como apresentar um use case:

O developer quer desenvolver uma aplicação que faça um poster a partir das fotos privadas do utilizador no SAPO Fotos.

O acesso a estas fotos é exclusivo de quem tenha as credenciais apropriadas. Usando o SAPO Connect oAuth, o developer (mediante autorização do utilizador), pode aceder a estes recursos e assim construir o poster desejado.

Vantagem para o utilizador? Não precisou ceder as suas credenciais ao developer da aplicação.

Vantagem para o developer? Não precisou criar um sistema de gestão de utilizadores nem fica com o ónus de guardar credenciais. Por outro lado, mesmo que o utilizador altere a sua password, a sua aplicação continuará a funcionar normalmente.

oAuth::Como posso usar?

Em 3 passos simples:

1. Registar a sua aplicação no SAPO Connect

2. Obter os code samples e snippets disponibilizados

3. Desenvolver a aplicação

Após o registo da aplicação, aceda à lista de aplicações onde verá uma Consumer Key e um Consumer Secret para a aplicação. Estas credenciais devem ser introduzidas nos locais próprios dos code samples fornecidos.

oAuth::Como aceder aos serviços Fotos, Blogs, etc?

O SAPO Connect suporta os seguintes serviços: Fotos, Blogs e Videos

Para aceder a estes serviços usa-se o workflow padrão do protocolo OAuth. No fim deste workflow, a aplicação fica com um access token em sua posse que deve usar para invocar o serviço desejado

Dúvidas? Os exemplos de código explicam tudo

Code snippets e exemplos

Python

Exemplos de utilização com Python


Python SAPO Connect consumer

Perl

Exemplos de utilização com Perl


Perl SAPO Connect consumer

PHP

Exemplos de utilização com PHP


PHP SAPO Connect consumer

Ruby

Exemplos de utilização com Ruby


(Brevemente)

Java

Exemplos de utilização com Java


Java SAPO Connect consumer

.NET

Exemplos de utilização com .NET


.NET SAPO Connect consumer