All Projects → synrc → avz

synrc / avz

Licence: other
🔑 AVZ: Social Authorization

Programming Languages

erlang
1774 projects

Projects that are alternatives of or similar to avz

Awesome Privacy
A curated list of services and alternatives that respect your privacy because PRIVACY MATTERS.
Stars: ✭ 303 (+604.65%)
Mutual labels:  microsoft, facebook
Shellphish
Phishing Tool for 18 social media: Instagram, Facebook, Snapchat, Github, Twitter, Yahoo, Protonmail, Spotify, Netflix, Linkedin, Wordpress, Origin, Steam, Microsoft, InstaFollowers, Gitlab, Pinterest
Stars: ✭ 1,037 (+2311.63%)
Mutual labels:  microsoft, facebook
Socialphish
The most complete Phishing Tool, with 32 templates +1 customizable
Stars: ✭ 378 (+779.07%)
Mutual labels:  microsoft, facebook
Ai Residency List
List of AI Residency & Research programs, Ph.D Fellowships, Research Internships
Stars: ✭ 69 (+60.47%)
Mutual labels:  microsoft, facebook
Ngx Auth Firebaseui
Angular Material UI component for firebase authentication
Stars: ✭ 518 (+1104.65%)
Mutual labels:  microsoft, facebook
Daily Coding Problem
Series of the problem 💯 and solution ✅ asked by Daily Coding problem👨‍🎓 website.
Stars: ✭ 90 (+109.3%)
Mutual labels:  microsoft, facebook
awosome-ai-in-social-media
💻 Collect those AI & Bot use in social media wechat/facebook/twitter/instagram/weibo/TikTok etc.
Stars: ✭ 21 (-51.16%)
Mutual labels:  facebook
BulkPDF
BulkPDF is a free and easy to use open source software, which allows to automatically fill an existing PDF form with differen values. Only a spreadsheet (Microsoft Excel 2007/2010/2013, LibreOffice or OpenOffice Calc) with the desired values is required.
Stars: ✭ 94 (+118.6%)
Mutual labels:  microsoft
fb-export
Export (most) of your Facebook data using Node.js and the Graph API.
Stars: ✭ 21 (-51.16%)
Mutual labels:  facebook
facebook
🤖 🚀 I work on a Facebook clone. I think it will be a good challenge, the code is open source you can use ✋
Stars: ✭ 21 (-51.16%)
Mutual labels:  facebook
BitLocker-Guidance
Configuration guidance for implementing BitLocker. #nsacyber
Stars: ✭ 90 (+109.3%)
Mutual labels:  microsoft
powerapps-specflow-bindings
A SpecFlow bindings library for model-driven Power Apps.
Stars: ✭ 19 (-55.81%)
Mutual labels:  microsoft
azure-policy-testing
This repository outlines an automated testing approach for Azure Policies. The approach is fundamentally based on behavior-driven development (BDD) to improve communication between developers, security experts and compliance officers.
Stars: ✭ 78 (+81.4%)
Mutual labels:  microsoft
OAuthLogin.AspNetCore
第三方平台联合登陆(facebook、微信、微博、QQ、Kakao)
Stars: ✭ 43 (+0%)
Mutual labels:  facebook
Facebook-Messenger-Statistics
Discover fun stats about your Facebook Messenger usage such as: most used words, most active year, most active hours, etc. using this Jupyter Notebook
Stars: ✭ 75 (+74.42%)
Mutual labels:  facebook
windows-xp
A simulation of the awesome Windows-XP made by using only the web tools and no library. All rights reserved to Microsoft.
Stars: ✭ 14 (-67.44%)
Mutual labels:  microsoft
todo-list
A practical web application built with Node.js, Express, and MySQL for you to readily record, view, and manage your tasks with an account: Create, view, edit, delete, filter, and sort expenses are as easy as pie 🥧
Stars: ✭ 18 (-58.14%)
Mutual labels:  facebook
OAuthLogin
第三方平台联合登陆(facebook、微信、微博、QQ、Kakao)
Stars: ✭ 57 (+32.56%)
Mutual labels:  facebook
dotnet-security-unit-tests
A web application that contains several unit tests for the purpose of .NET security
Stars: ✭ 25 (-41.86%)
Mutual labels:  microsoft
fb-photos
Download "Photos of me" on Facebook
Stars: ✭ 31 (-27.91%)
Mutual labels:  facebook

AVZ Login System for N2O

Authentication methods for N2O sites. Supports both JavaScript based logins (like Google and Facebook) and redirect based OAuth logins (Twitter, Github) in a sane and simple manner. Compatible with but not limited to Nitrogen and N2O.

Supported Methods

  • Twitter
  • Google
  • Facebook
  • Github
  • Microsoft
  • Telegram

API

sdk/0                % JavaScript for page embedding for JavaScript based login methods
login_button/0       % HTML Button for page embedding
event/1              % Page Event for HTTP redirect based login methods
api_event/3          % Page Event for JavaScript based login methods
callback/0           % Callback part of HTTP redirect based login methods
registration_data/3  % Process Parameters

Usage

Pretty short example is given at http://maxim.livejournal.com/421845.html (Russain) along with discussion how to design pages with N2O. Example of Login also could be found in http://github.com/5HT/skyline project.

Styles

Library provide only basic HTML markup for the buttons where its not strictly regulated by provider design guidelines. However its easy to provide custom CSS class and/or support any CSS framework on your login page with N2O #jq{} action.

Example of styling FB login button with Bootstrap:

event(init) -> 
  wf:wire(#jq{target=loginfb, method=["classList.add"], args=["'btn', 'btn-primary', 'btn-lg'"]}),
  ...

Example of styling Github button with Pure.css

event(init) ->
  wf:wire(#jq{target=github_btn, method=["classList.add"], args=["'pure-button'"]})
  ...

Configuration

Authentication endpoints can be configured in your sys.config under avz application settings.

Available settings listed below with test applications configured for each provider and will call you back on http://localhost:8000/login.

{
  ...
  {avz, [ % General
        {after_login_page, "/index"},
        {login_page, "/login"},
        {json,jsone},

        % Facebook Login
        {fb_id, "176025532423202"},

        % Twitter OAuth
        {tw_consumer_key, "YwfU5qj5AYY0uwPumcw1Q"},
        {tw_consumer_secret, "O7VjRYLWxwMgtSXZbiiY6kc1Og2il9gbo1KAIqZk"},

        % Google Sign-In
        {g_client_id, "158344909038-j6c0rbvpi09kdaqq03j2eddlf047ht3d.apps.googleusercontent.com"}, 
        {g_cookiepolicy, "http://localhost:8000"},
        
        % Google Sign-In button settings
        {g_btn_width, 240},
        {g_btn_height, 50},
        {g_btn_theme, "light"},
        {g_btn_longtitle, true},

        % Github OAuth
        {github_client_id, "591bfe2556ee60ca8c32"},
        {github_client_secret, "01411884e3c51624d3ea729ed6b047db52973e8e"},

        % Microsoft Account Login
        {ms_client_id, "54385d15-f1e0-4fcf-9bf4-042d740e0df4"},
        {ms_client_secret, "jU0tStEzRdDPFwL9NdVGYxo"},
        {ms_redirect_uri, "http://localhost:8000/login"},
        
        % Telegram Login Widget
        {tl_bot, "NYNJA_bot"},
        {tl_bot_token, "548231922:AAHmXMMr38XGtH0tJMDUdiByheT2mZ7qkVI"}
        {tl_auth_url, "http://127.0.0.1/login"},
        {tl_request_access, "write"}
        {tl_btn_size, "large"},
        {tl_btn_radius, "20"},
  ]}
  ...
}

Telegram Notes

Login widget is displayed within the iframe, so the battle of CPS and x-frame-options is expected in different browsers.

When setting a domain in BotFather with /setdomain, please note that telegram will cut the port part of your domain in the X-Frame-Options and Content-Security-Policy response headers.

So in fact you are limited to use 80 and 443 ports only.

Credits

  • Andrii Zadorozhnii
  • Andrii Sergiienko
  • Maxim Sokhatsky

OM A HUM

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].