All Projects → guilhermesimoes → Omniauth Popup

guilhermesimoes / Omniauth Popup

Pure OmniAuth login with a popup window

Programming Languages

ruby
36898 projects - #4 most used programming language

Labels

Projects that are alternatives of or similar to Omniauth Popup

Wechat Jssdk
🐧WeChat JS-SDK integration with NodeJS
Stars: ✭ 571 (+2495.45%)
Mutual labels:  oauth
Simplicity
A simple way to implement Facebook and Google login in your iOS apps.
Stars: ✭ 683 (+3004.55%)
Mutual labels:  oauth
Pizzly
The simplest, fastest way to integrate your app with an OAuth API 😋
Stars: ✭ 796 (+3518.18%)
Mutual labels:  oauth
React Native Inappbrowser
📱InAppBrowser for React Native (Android & iOS) 🤘
Stars: ✭ 624 (+2736.36%)
Mutual labels:  oauth
Shreddit
Remove your comment history on Reddit as deleting an account does not do so.
Stars: ✭ 669 (+2940.91%)
Mutual labels:  oauth
Python O365
A simple python library to interact with Microsoft Graph and Office 365 API
Stars: ✭ 742 (+3272.73%)
Mutual labels:  oauth
Doorkeeper
Doorkeeper is an OAuth 2 provider for Ruby on Rails / Grape.
Stars: ✭ 4,917 (+22250%)
Mutual labels:  oauth
Github Create Token
Create a Github OAuth access token.
Stars: ✭ 6 (-72.73%)
Mutual labels:  oauth
Mod auth openidc
OpenID Connect Relying Party implementation for Apache HTTP Server 2.x
Stars: ✭ 677 (+2977.27%)
Mutual labels:  oauth
Jekyll Auth
A simple way to use GitHub OAuth to serve a protected Jekyll site to your GitHub organization
Stars: ✭ 778 (+3436.36%)
Mutual labels:  oauth
Next Auth
Authentication for Next.js
Stars: ✭ 8,362 (+37909.09%)
Mutual labels:  oauth
React Native Simple Auth
OAuth login for React Native
Stars: ✭ 662 (+2909.09%)
Mutual labels:  oauth
Cpprestsdk
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
Stars: ✭ 6,631 (+30040.91%)
Mutual labels:  oauth
Scribejava
Simple OAuth library for Java
Stars: ✭ 5,223 (+23640.91%)
Mutual labels:  oauth
Play Authenticate
An authentication plugin for Play Framework 2.x (Java)
Stars: ✭ 813 (+3595.45%)
Mutual labels:  oauth
Socialite
Laravel wrapper around OAuth 1 & OAuth 2 libraries.
Stars: ✭ 4,993 (+22595.45%)
Mutual labels:  oauth
Fw Cloud Framework
基于springcloud全家桶开发分布式框架(支持oauth2认证授权、SSO登录、统一下单、微信公众号服务、Shardingdbc分库分表、常见服务监控、链路监控、异步日志、redis缓存等功能),实现基于Vue全家桶等前后端分离项目工程
Stars: ✭ 717 (+3159.09%)
Mutual labels:  oauth
Go jwt
golang for websocket wechat or weixin and jwt,http ratelimit
Stars: ✭ 19 (-13.64%)
Mutual labels:  oauth
Play Silhouette
Silhouette is an authentication library for Play Framework applications that supports several authentication methods, including OAuth1, OAuth2, OpenID, CAS, 2FA, TOTP, Credentials, Basic Authentication or custom authentication schemes.
Stars: ✭ 826 (+3654.55%)
Mutual labels:  oauth
Short
URL shortening service written in Go and React
Stars: ✭ 777 (+3431.82%)
Mutual labels:  oauth

OmniAuth Popup

A simple example of how you could setup a pure OmniAuth login using a popup window. No javascript SDK needed. See it in action here.

Code flow

There are 6 steps involved:

  • application_helper.rb - A useful method that helps simplify the view. It adds a css class to be later used as a selector and adds some data attributes that determine the size of the popup.

  • application.html.erb - The user clicks some "Login with Social Provider" button.

  • login.js - The click is intercepted by a small jQuery function that creates the popup. It also adds a simple popup param to be later checked by our server.

  • The request goes through our server and hits the Social Provider's servers. If the user is not logged in, he is prompted to do so. If the user has not authorized this app before, he is prompted to do so too. If both of these conditions are met, this step can be skipped.

  • sessions_controller.rb - A callback request hits our server. Here, the user account is searched for or created depending on whether this is the user's first time logging in or not. The popup param is checked for and if it exists that means the user has javascript enabled.

  • callback.html.erb - A view made of javascript closes the popup and redirects the main window to the url the user was trying to access. If the popup param was not present in the previous step, our server would make the redirection to the correct url.

How to run

First, install all the required gems with:

bundle install --without production

Then follow the instructions on the file application.template.yml.

Finally, start a web server on port 3000 with:

rails server
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].