generated from thegrind/laravel-dockerized
159 lines
4.2 KiB
Markdown
159 lines
4.2 KiB
Markdown
# Quick Start
|
|
|
|
This guide will get you up and running with AuthentiKate in under 5 minutes.
|
|
|
|
## Prerequisites
|
|
|
|
- Docker installed on your system
|
|
- A domain name (optional, can use localhost for testing)
|
|
|
|
## Step 1: Deploy AuthentiKate
|
|
|
|
Run the following command to start AuthentiKate:
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name authentikate \
|
|
-p 8080:8080 \
|
|
-e APP_URL=http://localhost:8080 \
|
|
-v authentikate_data:/var/www/html/storage \
|
|
authentikate/authentikate:latest
|
|
```
|
|
|
|
## Step 2: Get Your Admin Credentials
|
|
|
|
AuthentiKate automatically creates an admin user on first run. Get the credentials from the logs:
|
|
|
|
```bash
|
|
docker logs authentikate
|
|
```
|
|
|
|
Look for output like:
|
|
```
|
|
✅ Initial admin user created:
|
|
Email: admin@authentikate.local
|
|
Password: Xy9#mK2$vB8nQ4!p
|
|
```
|
|
|
|
## Step 3: Access the Interface
|
|
|
|
1. Open your browser and go to `http://localhost:8080`
|
|
2. Log in with the admin credentials from Step 2
|
|
3. You'll be taken to the AuthentiKate dashboard
|
|
|
|
## Step 4: Create Your First Application
|
|
|
|
1. Click **"Applications"** in the navigation
|
|
2. Click **"Create Application"**
|
|
3. Fill in the details:
|
|
- **Name**: `Test App`
|
|
- **Redirect URI**: `http://localhost:3000/auth/callback`
|
|
- **Client ID**: (auto-generated)
|
|
- **Client Secret**: (auto-generated)
|
|
|
|
4. Click **"Save"**
|
|
|
|
## Step 5: Test the Integration
|
|
|
|
Your application is now configured! Here are the OIDC endpoints you'll need:
|
|
|
|
- **Authorization**: `http://localhost:8080/oauth/authorize`
|
|
- **Token**: `http://localhost:8080/oauth/token`
|
|
- **User Info**: `http://localhost:8080/oauth/userinfo`
|
|
- **JWKS**: `http://localhost:8080/.well-known/jwks.json`
|
|
- **Discovery**: `http://localhost:8080/.well-known/openid_configuration`
|
|
|
|
## Common Integration Examples
|
|
|
|
### Test with curl
|
|
|
|
```bash
|
|
# Get authorization URL (replace CLIENT_ID with your actual client ID)
|
|
CLIENT_ID="your-client-id"
|
|
REDIRECT_URI="http://localhost:3000/auth/callback"
|
|
|
|
echo "Visit this URL to authorize:"
|
|
echo "http://localhost:8080/oauth/authorize?client_id=${CLIENT_ID}&redirect_uri=${REDIRECT_URI}&response_type=code&scope=openid profile email"
|
|
```
|
|
|
|
### Simple HTML Test Page
|
|
|
|
Create a simple test page to try the OAuth flow:
|
|
|
|
```html
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>AuthentiKate Test</title>
|
|
</head>
|
|
<body>
|
|
<h1>AuthentiKate OAuth Test</h1>
|
|
<button onclick="authenticate()">Login with AuthentiKate</button>
|
|
|
|
<script>
|
|
function authenticate() {
|
|
const clientId = 'your-client-id'; // Replace with your actual client ID
|
|
const redirectUri = 'http://localhost:3000/auth/callback';
|
|
const authUrl = `http://localhost:8080/oauth/authorize?client_id=${clientId}&redirect_uri=${redirectUri}&response_type=code&scope=openid profile email`;
|
|
|
|
window.location.href = authUrl;
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|
|
```
|
|
|
|
## What's Next?
|
|
|
|
Now that you have AuthentiKate running:
|
|
|
|
### Configure Your Environment
|
|
- [Set up email notifications](/config/email)
|
|
- [Configure a custom domain](/config/environment)
|
|
- [Set up reverse proxy](/guide/installation#reverse-proxy-setup)
|
|
|
|
### Add Real Applications
|
|
- [Integrate with Grafana](/integrations/grafana)
|
|
- [Set up Nextcloud SSO](/integrations/nextcloud)
|
|
- [Configure other applications](/integrations/generic)
|
|
|
|
### Manage Users
|
|
- [Create user invitations](/guide/invitations)
|
|
- [Set up user profiles](/guide/profiles)
|
|
- [Configure user permissions](/guide/users)
|
|
|
|
### Production Setup
|
|
- [Use PostgreSQL/MySQL](/guide/installation#database-options)
|
|
- [Set up proper email](/config/email)
|
|
- [Configure security settings](/config/security)
|
|
|
|
## Troubleshooting
|
|
|
|
### Can't access AuthentiKate?
|
|
- Make sure the container is running: `docker ps`
|
|
- Check the logs: `docker logs authentikate`
|
|
- Verify the port is accessible: `curl http://localhost:8080`
|
|
|
|
### Forgot admin password?
|
|
Reset it by running:
|
|
```bash
|
|
docker exec -it authentikate php artisan app:create-initial-admin --force
|
|
```
|
|
|
|
### Need to change the URL?
|
|
Update the `APP_URL` environment variable and restart:
|
|
```bash
|
|
docker stop authentikate
|
|
docker rm authentikate
|
|
# Run again with new APP_URL
|
|
```
|
|
|
|
### Container won't start?
|
|
Check for port conflicts:
|
|
```bash
|
|
# See what's using port 8080
|
|
sudo netstat -tulpn | grep 8080
|
|
|
|
# Use a different port
|
|
docker run -d --name authentikate -p 8081:8080 ...
|
|
``` |