> For the complete documentation index, see [llms.txt](https://cedrus.gitbook.io/codesoju/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cedrus.gitbook.io/codesoju/auth0.md).

# Auth0

> Whether you are working on a small web application of a enterprise app you need to find the best way to secure and authenticate your app. Antiquated authentication that uses only a username and password is not enough. Your customers are demanding multifactor authentication, single sign-on, and greater security. That is why CodeSoju comes built in with a add-on call Auth0.

## Auth0

Auth0 allows you to fully customize any stage of the authentication and authorization pipeline to adapt to new policies, new applications, and new platforms. It's critical to support multiple identity providers. Auth0 makes it easy for you to give your users the ability to authenticate with the credentials they are most familiar with. Enterprise, social, or app-specific. Auth0’s widget gives you a fully customizable, enterprise-ready login/registration box with just a few lines of JavaScript.

Auth0 also has really great documentation that can help you custimize authentication in your app as much as you want. (<https://auth0.com/docs>)

## CodeSoju + Auth0 = SUCCESS!

> We have already done the setup for you to get started with Auth0 in CodeSoju, all you will need to do is follow the following steps so that you can fully integrate your Auth0 credentials with your CodeSoju App.

1. If you do not have a Auth0 account yet, make sure to sign up for one here (<https://auth0.com/>).
2. Once you have an account, head to your Dashboard and click the button on the top right that says "New Client". That will open up a modal that will let you type in the name of the app. For Client Type, click "Single Page Web Applications" and then click "Create".
3. Once you've created your app, it will ask you what type of technology you will be using. Depending on which CodeSoju app (Angular 1, Angular 2, or Cordova Mobile App) you are implementing, click on the correct technology.
4. At this point Auth0 will direct you to a Quickstart, luckily for you CodeSoju has already done all the integration for you. All you have to do is put in your credentials. Click on the Settings tab and copy your "DOMAN" and "CLIENTID".
5. Once you have that you need to head to your app.js (client/app/app.js) file.

![](/files/-LJEasdA4LmFNq-ccWEO)

* You will need to put the credentials you copied from your Auth0 dashboard in the correct places in this JSON object.&#x20;
* Optional: Here is where you can also change the logo you will see on the Auth0 lock screen. We have defaulted it to our CodeSoju logo for your convenience.&#x20;

![](/files/-LJEasdCFO8JriAmuZAB)

6.Once that is done all you will have to do is set auth to true in your feature toggle service (client/app/shared/services/featureToggle/featureToggle.service.js) and now you should have authentication ready to go in your CodeSoju app.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://cedrus.gitbook.io/codesoju/auth0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
