Authomatic python бібліотека для аутентифікації та авторизації
Залишається справжня дрібниця, продати необхідний протокол стосовно конкретного веб-додатку. Реєстрація та вхід до веб-сервісу TheOnlyPage з використанням облікових записівFacebook,Google,LinkedInтаMicrosoft Liveпрацюють завдяки python бібліотеці Authomatic.
Незважаючи на таку самокритичну заяву, якщо звернутися до демонстраційної сторінки, можна переконатися, що бібліотека забезпечує безпроблемну роботу з усілякими провайдерамиOAuth 1.0aтаOAuth 2.0.
Якісна документація дає достатньо інформації для використання бібліотеки спільно з фреймворками:Django,Flask,PyramidтаWebapp2.
Проілюструємо роботу зAuthomaticна прикладі реального життя. Для того, щоб зареєструватися / увійти до веб-сервісу TheOnlyPage за допомогою облікового записуFacebook,Google,LinkedInтаMicrosoft Liveдостатньо клікнути по відповідній на сторінці входу в сервіс:
- Зареєструвати свою програму в кожному з OAuth-провайдерів.
- Додати параметри провайдерів OAuth до конфігураційного файлу.
- Ініціювати базовий об'єкт authomatic параметрами, що зберігаються у конфігураційному файлі.
- Створити уявлення, яке виконає запит до провайдера та отримає від нього результат.
Реєстрація програми
Кожен провайдер має свої особливості реєстрації. Адреси реєстрації програми
Деякі параметри, які потрібно вказати, у різних провайдерів можуть відрізнятися, але серед інших параметрів обов'язково присутні:
для Facebook:email
для Google:email
для LinkedIn:r_emailaddress
дляMicrosoft Live:wl.emails
Визначення конфігурації OAuth-провайдерів
У стандартний конфігураційний файл flask-програми потрібно додати словник, який містить параметри всіх провайдерів:
Як бачимо кожному провайдеру ставиться у відповідність словник із наступними атрибутами:
class_ - клас, що входить до складу бібліотеки Authomatic, відповідний черговому провайдеру;
consumer_key - код користувача у чергового провайдера;
consumer_secret – секретний ключ чергового провайдера;
scope - список даних, які передбачається вимагати у чергового провайдера.
Попередні установки зроблено.
Ініціація базового об'єкта authomatic
Відбувається дуже просто, із зазначенням конфігураційних даних та секретного рядка:
Створення уявлення
Основна частина взаємодії з oauth-провайдером зводиться до одного рядка:
Як бачите зовсім нескладно. Основну частину часу займає не програмування, а реєстрація своєї програми у кожному з використовуваних провайдерів.