From 8a64b0082b7726130f681a4b0ce6e381f43c30e6 Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Thu, 20 Oct 2022 11:53:25 +0100 Subject: [PATCH 1/9] drop support for Ruby 2.6 in CI --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 847647a..17268df 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ orbs: matrix_rubyversions: &matrix_rubyversions matrix: parameters: - rubyversion: ["2.6", "2.7", "3.0", "3.1"] + rubyversion: ["2.7", "3.0", "3.1"] # Default version of ruby to use for lint and publishing default_rubyversion: &default_rubyversion "2.7" From 47b968e68b2d790ba7e49a3d9fb414b8dfd51456 Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Thu, 20 Oct 2022 12:18:04 +0100 Subject: [PATCH 2/9] redesign the readme and add examples --- CODE_OF_CONDUCT.md | 3 - EXAMPLES.md | 168 +++++++++++++++++++++++++++ README.md | 279 ++++++++++++++++++--------------------------- 3 files changed, 278 insertions(+), 172 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md create mode 100644 EXAMPLES.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 6d49e2f..0000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,3 +0,0 @@ -# Code of Conduct - -Please see [Auth0's Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) for information on contributing to this repo. diff --git a/EXAMPLES.md b/EXAMPLES.md new file mode 100644 index 0000000..935d793 --- /dev/null +++ b/EXAMPLES.md @@ -0,0 +1,168 @@ +- [Example of the resulting authentication hash](#example-of-the-resulting-authentication-hash) + +* [Send additional authentication parameters](#send-additional-authentication-parameters) +* [Query Parameter Options](#query-parameter-options) +* [Auth0 Organizations](#auth0-organizations) + - [Logging in with an Organization](#logging-in-with-an-organization) + - [Validating Organizations when using Organization Login Prompt](#validating-organizations-when-using-organization-login-prompt) + - [Accepting user invitations](#accepting-user-invitations) + +### Example of the resulting authentication hash + +The Auth0 strategy will provide the standard OmniAuth hash attributes: + +- `:provider` - the name of the strategy, in this case `auth0` +- `:uid` - the user identifier +- `:info` - the result of the call to `/userinfo` using OmniAuth standard attributes +- `:credentials` - tokens requested and data +- `:extra` - Additional info obtained from calling `/userinfo` in the `:raw_info` property + +```ruby +{ + :provider => 'auth0', + :uid => 'auth0|USER_ID', + :info => { + :name => 'John Foo', + :email => 'johnfoo@example.org', + :nickname => 'john', + :image => 'https://example.org/john.jpg' + }, + :credentials => { + :token => 'ACCESS_TOKEN', + :expires_at => 1485373937, + :expires => true, + :refresh_token => 'REFRESH_TOKEN', + :id_token => 'JWT_ID_TOKEN', + :token_type => 'bearer', + }, + :extra => { + :raw_info => { + :email => 'johnfoo@example.org', + :email_verified => 'true', + :name => 'John Foo', + :picture => 'https://example.org/john.jpg', + :user_id => 'auth0|USER_ID', + :nickname => 'john', + :created_at => '2014-07-15T17:19:50.387Z' + } + } +} +``` + +## Send additional authentication parameters + +To send additional parameters during login, you can specify them when you register the provider: + +```ruby +provider + :auth0, + ENV['AUTH0_CLIENT_ID'], + ENV['AUTH0_CLIENT_SECRET'], + ENV['AUTH0_DOMAIN'], + { + authorize_params: { + scope: 'openid read:users write:order', + audience: 'https://mydomain/api', + max_age: 3600 # time in seconds authentication is valid + } + } +``` + +This will tell the strategy to send those parameters on every authentication request. + +## Query Parameter Options + +In some scenarios, you may need to pass specific query parameters to `/authorize`. The following parameters are available to enable this: + +- `connection` +- `connection_scope` +- `prompt` +- `screen_hint` (only relevant to New Universal Login Experience) +- `organization` +- `invitation` + +Simply pass these query parameters to your OmniAuth redirect endpoint to enable their behavior. + +## Auth0 Organizations + +[Organizations](https://auth0.com/docs/organizations) is a set of features that provide better support for developers who build and maintain SaaS and Business-to-Business (B2B) applications. + +Note that Organizations is currently only available to customers on our Enterprise and Startup subscription plans. + +### Logging in with an Organization + +Logging in with an Organization is as easy as passing the parameters to the authorize endpoint. You can do this with + +```ruby +<%= + button_to 'Login', 'auth/auth0', + method: :post, + params: { + # Found in your Auth0 dashboard, under Organization settings: + organization: '{AUTH0_ORGANIZATION}' + } +%> +``` + +Alternatively you can configure the organization when you register the provider: + +```ruby +provider + :auth0, + ENV['AUTH0_CLIENT_ID'], + ENV['AUTH0_CLIENT_SECRET'], + ENV['AUTH0_DOMAIN'] + { + authorize_params: { + scope: 'openid read:users', + audience: 'https://{AUTH0_DOMAIN}/api', + organization: '{AUTH0_ORGANIZATION}' + } + } +``` + +When passing `openid` to the scope and `organization` to the authorize params, you will receive an ID token on callback with the `org_id` claim. This claim is validated for you by the SDK. + +### Validating Organizations when using Organization Login Prompt + +When Organization login prompt is enabled on your application, but you haven't specified an Organization for the application's authorization endpoint, the `org_id` claim will be present on the ID token, and should be validated to ensure that the value received is expected or known. + +Normally, validating the issuer would be enough to ensure that the token was issued by Auth0, and this check is performed by the SDK. However, in the case of organizations, additional checks should be made so that the organization within an Auth0 tenant is expected. + +In particular, the `org_id` claim should be checked to ensure it is a value that is already known to the application. This could be validated against a known list of organization IDs, or perhaps checked in conjunction with the current request URL. e.g. the sub-domain may hint at what organization should be used to validate the ID Token. + +Here is an example using it in your `callback` method + +```ruby + def callback + claims = request.env['omniauth.auth']['extra']['raw_info'] + + if claims["org"] && claims["org"] !== expected_org + redirect_to '/unauthorized', status: 401 + else + session[:userinfo] = claims + redirect_to '/dashboard' + end + end +``` + +For more information, please read [Work with Tokens and Organizations](https://auth0.com/docs/organizations/using-tokens) on Auth0 Docs. + +### Accepting user invitations + +Auth0 Organizations allow users to be invited using emailed links, which will direct a user back to your application. The URL the user will arrive at is based on your configured `Application Login URI`, which you can change from your Application's settings inside the Auth0 dashboard. + +When the user arrives at your application using an invite link, you can expect three query parameters to be provided: `invitation`, `organization`, and `organization_name`. These will always be delivered using a GET request. + +You can then supply those parametrs to a `button_to` or `link_to` helper + +```ruby +<%= + button_to 'Login', 'auth/auth0', + method: :post, + params: { + organization: '{YOUR_ORGANIZATION_ID}', + invitation: '{INVITE_CODE}' + } +%> +``` diff --git a/README.md b/README.md index 4cca507..572ff2f 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,14 @@ -# OmniAuth Auth0 - An [OmniAuth](https://github.com/intridea/omniauth) strategy for authenticating with [Auth0](https://auth0.com). This strategy is based on the [OmniAuth OAuth2](https://github.com/omniauth/omniauth-oauth2) strategy. -> :warning: **Important security note for v2:** This solution uses a 3rd party library that had a [security issue(s)](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-9284) in v2. Please review the details of the vulnerability, including [Auth0](https://github.com/auth0/omniauth-auth0/issues/82 ) and other recommended [mitigations](https://github.com/omniauth/omniauth/wiki/Resolving-CVE-2015-9284), before implementing the solution in v2. **[Upgrading to v3](https://github.com/auth0/omniauth-auth0/pull/128) of this library resolves the issue.** - [![CircleCI](https://img.shields.io/circleci/project/github/auth0/omniauth-auth0/master.svg)](https://circleci.com/gh/auth0/omniauth-auth0) [![codecov](https://codecov.io/gh/auth0/omniauth-auth0/branch/master/graph/badge.svg)](https://codecov.io/gh/auth0/omniauth-auth0) [![Gem Version](https://badge.fury.io/rb/omniauth-auth0.svg)](https://badge.fury.io/rb/omniauth-auth0) [![MIT licensed](https://img.shields.io/dub/l/vibe-d.svg?style=flat)](https://github.com/auth0/omniauth-auth0/blob/master/LICENSE) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0?ref=badge_shield) -## Table of Contents - -- [Documentation](#documentation) -- [Installation](#installation) -- [Getting Started](#getting-started) -- [Contribution](#contribution) -- [Support + Feedback](#support--feedback) -- [Vulnerability Reporting](#vulnerability-reporting) -- [What is Auth0](#what-is-auth0) -- [License](#license) +
+πŸ“š Documentation - πŸš€ Getting started - πŸ’» API reference - πŸ’¬ Feedback +
## Documentation @@ -27,7 +16,9 @@ An [OmniAuth](https://github.com/intridea/omniauth) strategy for authenticating - [Sample projects](https://github.com/auth0-samples/auth0-rubyonrails-sample) - [API Reference](https://www.rubydoc.info/gems/omniauth-auth0) -## Installation +## Getting started + +### Installation Add the following line to your `Gemfile`: @@ -49,37 +40,98 @@ $ bundle install See our [contributing guide](CONTRIBUTING.md) for information on local installation for development. -## Getting Started +## Configure the SDK + +Adding the SDK to your Rails app requires a few steps: -To start processing authentication requests, the following steps must be performed: +- [Create the configuration file](#create-the-configuration-file) +- [Create the initializer](#create-the-initializer) +- [Create the callback controller](#create-the-callback-controller) +- [Add routes](#add-routes) -1. Initialize the strategy -2. Configure the callback controller -3. Add the required routes -4. Trigger an authentication request +### Create the configuration file -All of these tasks and more are covered in our [Ruby on Rails Quickstart](https://auth0.com/docs/quickstart/webapp/rails). +Create the file `./config/auth0.yml` within your application directory with the following content: -### Additional authentication parameters +```yml +development: + auth0_domain: YOUR_DOMAIN + auth0_client_id: YOUR_CLIENT_ID + auth0_client_secret: +``` + +### Create the initializer -To send additional parameters during login, you can specify them when you register the provider: +Create a new Ruby file in `./config/initializers/auth0.rb` to configure the OmniAuth middleware: ```ruby -provider - :auth0, - ENV['AUTH0_CLIENT_ID'], - ENV['AUTH0_CLIENT_SECRET'], - ENV['AUTH0_DOMAIN'], - { +AUTH0_CONFIG = Rails.application.config_for(:auth0) + +Rails.application.config.middleware.use OmniAuth::Builder do + provider( + :auth0, + AUTH0_CONFIG['auth0_client_id'], + AUTH0_CONFIG['auth0_client_secret'], + AUTH0_CONFIG['auth0_domain'], + callback_path: '/auth/auth0/callback', authorize_params: { - scope: 'openid read:users write:order', - audience: 'https://mydomain/api', - max_age: 3600 # time in seconds authentication is valid + scope: 'openid profile' } - } + ) +end +``` + +### Create the callback controller + +Create a new controller `./app/controllers/auth0_controller.rb` to handle the callback from Auth0. + +> You can also run `rails generate controller auth0 callback failure logout --skip-assets --skip-helper --skip-routes --skip-template-engine` to scaffold this controller for you. + +```ruby +# ./app/controllers/auth0_controller.rb +class Auth0Controller < ApplicationController + def callback + # OmniAuth stores the information returned from Auth0 and the IdP in request.env['omniauth.auth']. + # In this code, you will pull the raw_info supplied from the id_token and assign it to the session. + # Refer to https://github.com/auth0/omniauth-auth0#authentication-hash for complete information on 'omniauth.auth' contents. + auth_info = request.env['omniauth.auth'] + session[:userinfo] = auth_info['extra']['raw_info'] + + # Redirect to the URL you want after successful auth + redirect_to '/dashboard' + end + + def failure + # Handles failed authentication -- Show a failure page (you can also handle with a redirect) + @error_msg = request.params['message'] + end + + def logout + # you will finish this in a later step + end +end +``` + +### Add routes + +Finally, add the following routes to your `./config/routes.rb` file: + +```ruby +Rails.application.routes.draw do + # .. + get '/auth/auth0/callback' => 'auth0#callback' + get '/auth/failure' => 'auth0#failure' + get '/auth/logout' => 'auth0#logout' +end ``` -... which will tell the strategy to send those parameters on every authentication request. +## Logging in + +To redirect your users to Auth0 for authentication, redirect your users to the `/auth/auth0` endpoint of your app. One way to do this is to use a link or button on a page: + +```html +<%= button_to 'Login', '/auth/auth0', method: :post %> +``` ### Authentication hash @@ -123,147 +175,36 @@ The Auth0 strategy will provide the standard OmniAuth hash attributes: } ``` -### Query Parameter Options - -In some scenarios, you may need to pass specific query parameters to `/authorize`. The following parameters are available to enable this: - -- `connection` -- `connection_scope` -- `prompt` -- `screen_hint` (only relevant to New Universal Login Experience) -- `organization` -- `invitation` - -Simply pass these query parameters to your OmniAuth redirect endpoint to enable their behavior. - -## Examples - -### Auth0 Organizations - -[Organizations](https://auth0.com/docs/organizations) is a set of features that provide better support for developers who build and maintain SaaS and Business-to-Business (B2B) applications. - -Using Organizations, you can: - -- Represent teams, business customers, partner companies, or any logical grouping of users that should have different ways of accessing your applications, as organizations. -- Manage their membership in a variety of ways, including user invitation. -- Configure branded, federated login flows for each organization. -- Implement role-based access control, such that users can have different roles when authenticating in the context of different organizations. -- Build administration capabilities into your products, using Organizations APIs, so that those businesses can manage their own organizations. - -Note that Organizations is currently only available to customers on our Enterprise and Startup subscription plans. - -#### Logging in with an Organization - -Logging in with an Organization is as easy as passing the parameters to the authorize endpoint. You can do this with - -```ruby -<%= - button_to 'Login', 'auth/auth0', - method: :post, - params: { - # Found in your Auth0 dashboard, under Organization settings: - organization: '{AUTH0_ORGANIZATION}' - } -%> -``` - -Alternatively you can configure the organization when you register the provider: - -```ruby -provider - :auth0, - ENV['AUTH0_CLIENT_ID'], - ENV['AUTH0_CLIENT_SECRET'], - ENV['AUTH0_DOMAIN'] - { - authorize_params: { - scope: 'openid read:users', - audience: 'https://{AUTH0_DOMAIN}/api', - organization: '{AUTH0_ORGANIZATION}' - } - } -``` - -When passing `openid` to the scope and `organization` to the authorize params, you will receive an ID token on callback with the `org_id` claim. This claim is validated for you by the SDK. - -#### Validating Organizations when using Organization Login Prompt - -When Organization login prompt is enabled on your application, but you haven't specified an Organization for the application's authorization endpoint, the `org_id` claim will be present on the ID token, and should be validated to ensure that the value received is expected or known. - -Normally, validating the issuer would be enough to ensure that the token was issued by Auth0, and this check is performed by the SDK. However, in the case of organizations, additional checks should be made so that the organization within an Auth0 tenant is expected. - -In particular, the `org_id` claim should be checked to ensure it is a value that is already known to the application. This could be validated against a known list of organization IDs, or perhaps checked in conjunction with the current request URL. e.g. the sub-domain may hint at what organization should be used to validate the ID Token. - -Here is an example using it in your `callback` method - -```ruby - def callback - claims = request.env['omniauth.auth']['extra']['raw_info'] - - if claims["org"] && claims["org"] !== expected_org - redirect_to '/unauthorized', status: 401 - else - session[:userinfo] = claims - redirect_to '/dashboard' - end - end -``` - -For more information, please read [Work with Tokens and Organizations](https://auth0.com/docs/organizations/using-tokens) on Auth0 Docs. +## Feedback -#### Accepting user invitations - -Auth0 Organizations allow users to be invited using emailed links, which will direct a user back to your application. The URL the user will arrive at is based on your configured `Application Login URI`, which you can change from your Application's settings inside the Auth0 dashboard. - -When the user arrives at your application using an invite link, you can expect three query parameters to be provided: `invitation`, `organization`, and `organization_name`. These will always be delivered using a GET request. - -You can then supply those parametrs to a `button_to` or `link_to` helper - -```ruby -<%= - button_to 'Login', 'auth/auth0', - method: :post, - params: { - organization: '{YOUR_ORGANIZATION_ID}', - invitation: '{INVITE_CODE}' - } -%> -``` - -## Contribution +### Contributing We appreciate feedback and contribution to this repo! Before you get started, please see the following: -- [Auth0's contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) -- [Auth0's Code of Conduct](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) -- [This repo's contribution guide](CONTRIBUTING.md) - -## Support + Feedback - -- Use [Community](https://community.auth0.com/) for usage, questions, specific cases. -- Use [Issues](https://github.com/auth0/omniauth-auth0/issues) here for code-level support and bug reports. -- Paid customers can use [Support](https://support.auth0.com/) to submit a trouble ticket for production-affecting issues. - -## Vulnerability Reporting - -Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues. - -## What is Auth0? - -Auth0 helps you to easily: +- [Auth0's general contribution guidelines](https://github.com/auth0/open-source-template/blob/master/GENERAL-CONTRIBUTING.md) +- [Auth0's code of conduct guidelines](https://github.com/auth0/open-source-template/blob/master/CODE-OF-CONDUCT.md) +- [This repo's contribution guide](https://github.com/auth0/omniauth-auth0/blob/master/CONTRIBUTING.md) -- implement authentication with multiple identity providers, including social (e.g., Google, Facebook, Microsoft, LinkedIn, GitHub, Twitter, etc), or enterprise (e.g., Windows Azure AD, Google Apps, Active Directory, ADFS, SAML, etc.) -- log in users with username/password databases, passwordless, or multi-factor authentication -- link multiple user accounts together -- generate signed JSON Web Tokens to authorize your API calls and flow the user identity securely -- access demographics and analytics detailing how, when, and where users are logging in -- enrich user profiles from other data sources using customizable JavaScript rules +### Raise an issue -[Why Auth0?](https://auth0.com/why-auth0) +To provide feedback or report a bug, please [raise an issue on our issue tracker](https://github.com/auth0/auth0-flutter/issues). -## License +### Vulnerability Reporting -The OmniAuth Auth0 strategy is licensed under MIT - [LICENSE](LICENSE) +Please do not report security vulnerabilities on the public GitHub issue tracker. TheΒ [Responsible Disclosure Program](https://auth0.com/whitehat)Β details the procedure for disclosing security issues. +--- -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0?ref=badge_large) +

+ + + + Auth0 Logo + +

+

+ Auth0 is an easy to implement, adaptable authentication and authorization platform. To learn more checkout Why Auth0? +

+

+ This project is licensed under the MIT license. See the LICENSE file for more info. +

From cf2b51aaa932c52f351799709b4edc910a3c087b Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Thu, 20 Oct 2022 12:19:30 +0100 Subject: [PATCH 3/9] move hash example to EXAMPLES.md --- README.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/README.md b/README.md index 572ff2f..b3f6aee 100644 --- a/README.md +++ b/README.md @@ -133,48 +133,6 @@ To redirect your users to Auth0 for authentication, redirect your users to the ` <%= button_to 'Login', '/auth/auth0', method: :post %> ``` -### Authentication hash - -The Auth0 strategy will provide the standard OmniAuth hash attributes: - -- `:provider` - the name of the strategy, in this case `auth0` -- `:uid` - the user identifier -- `:info` - the result of the call to `/userinfo` using OmniAuth standard attributes -- `:credentials` - tokens requested and data -- `:extra` - Additional info obtained from calling `/userinfo` in the `:raw_info` property - -```ruby -{ - :provider => 'auth0', - :uid => 'auth0|USER_ID', - :info => { - :name => 'John Foo', - :email => 'johnfoo@example.org', - :nickname => 'john', - :image => 'https://example.org/john.jpg' - }, - :credentials => { - :token => 'ACCESS_TOKEN', - :expires_at => 1485373937, - :expires => true, - :refresh_token => 'REFRESH_TOKEN', - :id_token => 'JWT_ID_TOKEN', - :token_type => 'bearer', - }, - :extra => { - :raw_info => { - :email => 'johnfoo@example.org', - :email_verified => 'true', - :name => 'John Foo', - :picture => 'https://example.org/john.jpg', - :user_id => 'auth0|USER_ID', - :nickname => 'john', - :created_at => '2014-07-15T17:19:50.387Z' - } - } -} -``` - ## Feedback ### Contributing From aa0f338c2e2c58430a7ad58ef7b632ccb716104e Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Thu, 20 Oct 2022 12:31:56 +0100 Subject: [PATCH 4/9] fix path to issues --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b3f6aee..dff356a 100644 --- a/README.md +++ b/README.md @@ -145,7 +145,7 @@ We appreciate feedback and contribution to this repo! Before you get started, pl ### Raise an issue -To provide feedback or report a bug, please [raise an issue on our issue tracker](https://github.com/auth0/auth0-flutter/issues). +To provide feedback or report a bug, please [raise an issue on our issue tracker](https://github.com/auth0/omniauth-auth0/issues). ### Vulnerability Reporting From 4bba97ee92920ec782255fb31d206bb964e2a22d Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Thu, 20 Oct 2022 12:34:59 +0100 Subject: [PATCH 5/9] add link to ruby docs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dff356a..3bd3c7d 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ An [OmniAuth](https://github.com/intridea/omniauth) strategy for authenticating [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0?ref=badge_shield)
-πŸ“š Documentation - πŸš€ Getting started - πŸ’» API reference - πŸ’¬ Feedback +πŸ“š Documentation - πŸš€ Getting started - πŸ’» API reference - πŸ’¬ Feedback
## Documentation From 64ecc59236791ca800082883423e56ab58cbe6c3 Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Thu, 20 Oct 2022 13:48:05 +0100 Subject: [PATCH 6/9] tweaked placeholder strings --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3bd3c7d..1e3e7c6 100644 --- a/README.md +++ b/README.md @@ -55,8 +55,8 @@ Create the file `./config/auth0.yml` within your application directory with the ```yml development: - auth0_domain: YOUR_DOMAIN - auth0_client_id: YOUR_CLIENT_ID + auth0_domain: + auth0_client_id: auth0_client_secret: ``` From b029c8a4d77b467a886d0a7a62fbd43ffd433c34 Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Mon, 24 Oct 2022 19:49:29 +0100 Subject: [PATCH 7/9] add banner image --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 1e3e7c6..0a5d5e8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +![Omniauth-auth0](https://cdn.auth0.com/website/sdks/banners/omniauth-auth0-banner.png) + An [OmniAuth](https://github.com/intridea/omniauth) strategy for authenticating with [Auth0](https://auth0.com). This strategy is based on the [OmniAuth OAuth2](https://github.com/omniauth/omniauth-oauth2) strategy. [![CircleCI](https://img.shields.io/circleci/project/github/auth0/omniauth-auth0/master.svg)](https://circleci.com/gh/auth0/omniauth-auth0) From b396573dfe3e5946e1a310c6e34ea31ffa09c78d Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Tue, 25 Oct 2022 14:20:17 +0100 Subject: [PATCH 8/9] Update README.md Co-authored-by: Poovamraj T T --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0a5d5e8..016c3f0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ ![Omniauth-auth0](https://cdn.auth0.com/website/sdks/banners/omniauth-auth0-banner.png) -An [OmniAuth](https://github.com/intridea/omniauth) strategy for authenticating with [Auth0](https://auth0.com). This strategy is based on the [OmniAuth OAuth2](https://github.com/omniauth/omniauth-oauth2) strategy. [![CircleCI](https://img.shields.io/circleci/project/github/auth0/omniauth-auth0/master.svg)](https://circleci.com/gh/auth0/omniauth-auth0) [![codecov](https://codecov.io/gh/auth0/omniauth-auth0/branch/master/graph/badge.svg)](https://codecov.io/gh/auth0/omniauth-auth0) From 49ee72e21c5a2dd0b7a2ad02c3f6b17e54b24675 Mon Sep 17 00:00:00 2001 From: Steve Hobbs Date: Tue, 25 Oct 2022 14:20:35 +0100 Subject: [PATCH 9/9] Update README.md Co-authored-by: Ewan Harris --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 016c3f0..7872dd0 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ [![codecov](https://codecov.io/gh/auth0/omniauth-auth0/branch/master/graph/badge.svg)](https://codecov.io/gh/auth0/omniauth-auth0) [![Gem Version](https://badge.fury.io/rb/omniauth-auth0.svg)](https://badge.fury.io/rb/omniauth-auth0) [![MIT licensed](https://img.shields.io/dub/l/vibe-d.svg?style=flat)](https://github.com/auth0/omniauth-auth0/blob/master/LICENSE) -[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fauth0%2Fomniauth-auth0?ref=badge_shield)
πŸ“š Documentation - πŸš€ Getting started - πŸ’» API reference - πŸ’¬ Feedback