f041165e9b
- Create dedicated /auth page to handle confirmation, recovery, and invite tokens - Add proper redirects in _redirects and netlify.toml for token handling - Update main layout to automatically redirect authentication tokens to auth page - Add Turkish authentication interface with loading states and error handling - Provide fallback redirect mechanisms for different token types - Update documentation with current setup status and fixes This resolves the issue where confirmation emails linked to hash URLs that didn't work. Now users will be properly guided through the authentication process. 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
160 lines
4.8 KiB
Markdown
160 lines
4.8 KiB
Markdown
# Decap CMS Setup for ARC Website
|
|
|
|
## Overview
|
|
|
|
This website uses Decap CMS (formerly Netlify CMS) for content management. It allows authorized users to create, edit, and manage blog posts through a web interface.
|
|
|
|
## Current Setup Status
|
|
|
|
**Error**: "Unable to access identity settings. When using git-gateway backend make sure to enable Identity service and Git Gateway."
|
|
|
|
This means Netlify Identity and Git Gateway need to be properly configured.
|
|
|
|
## Setup Instructions
|
|
|
|
### 1. Enable Netlify Identity
|
|
|
|
1. Go to your Netlify dashboard: https://app.netlify.com/
|
|
2. Select your site (ym1ktc.netlify.app)
|
|
3. Navigate to **Site settings** → **Identity**
|
|
4. Click **"Enable Identity"**
|
|
5. In Identity settings, configure:
|
|
- **Registration**: Set to "Invite only" (recommended for security)
|
|
- **External providers**: Optionally enable GitHub, Google, etc.
|
|
- **Field validation**: No changes needed for basic setup
|
|
|
|
### 2. Configure Git Gateway
|
|
|
|
**This is the crucial step that's currently missing:**
|
|
|
|
1. In your site's Identity settings
|
|
2. Go to **"Services"** tab
|
|
3. Click **"Enable Git Gateway"**
|
|
4. This allows Decap CMS to commit directly to your GitHub repository
|
|
5. **Important**: Git Gateway requires the Identity service to be enabled first
|
|
|
|
### 3. Configure Custom Domain Access
|
|
|
|
Since you're using https://taslak.radio.org.tr/, ensure:
|
|
|
|
1. The custom domain is properly configured in Netlify
|
|
2. Identity service works on both domains:
|
|
- https://ym1ktc.netlify.app/admin/
|
|
- https://taslak.radio.org.tr/admin/
|
|
|
|
### 4. Invite Users
|
|
|
|
After Identity and Git Gateway are enabled:
|
|
|
|
1. In Identity tab, click **"Invite users"**
|
|
2. Enter email addresses of content editors
|
|
3. They will receive invitation emails
|
|
4. Users must accept invitations to access the CMS
|
|
|
|
### 5. Access the CMS
|
|
|
|
- Primary URL: `https://taslak.radio.org.tr/admin/`
|
|
- Backup URL: `https://ym1ktc.netlify.app/admin/`
|
|
- Users can log in with their invited credentials
|
|
- The CMS will redirect to `/decapcms/` for the actual interface
|
|
|
|
## Features
|
|
|
|
### Turkish Interface
|
|
|
|
- All field labels are in Turkish
|
|
- Configured for Turkish content creators
|
|
- Default author set to "TA1SPH"
|
|
|
|
### Blog Post Management
|
|
|
|
- Create new blog posts
|
|
- Edit existing posts
|
|
- Upload featured images
|
|
- Organize with categories and tags
|
|
- Markdown editor for content
|
|
|
|
### File Structure
|
|
|
|
- Blog posts are stored in `src/data/post/`
|
|
- Images are stored in `src/assets/images/`
|
|
- Posts use the format: `YYYY-MM-DD-slug.md`
|
|
|
|
## Configuration Files
|
|
|
|
### `/public/decapcms/config.yml`
|
|
|
|
Main configuration file that defines:
|
|
|
|
- Backend (Git Gateway)
|
|
- Collections (Blog posts)
|
|
- Fields and their types
|
|
- Media handling
|
|
|
|
### `/public/decapcms/index.html`
|
|
|
|
The CMS interface HTML file
|
|
|
|
### `/public/_redirects`
|
|
|
|
Netlify redirect rules for admin routing
|
|
|
|
## Usage
|
|
|
|
1. Users navigate to `/admin/`
|
|
2. They are redirected to the CMS interface
|
|
3. After authentication, they can:
|
|
- Create new blog posts
|
|
- Edit existing posts
|
|
- Upload images
|
|
- Manage categories and tags
|
|
|
|
## Security
|
|
|
|
- Only invited users can access the CMS
|
|
- All changes are committed to the main repository
|
|
- GitHub Actions will automatically deploy changes
|
|
- Content is version-controlled through Git
|
|
|
|
## Troubleshooting
|
|
|
|
### Fixed Issues:
|
|
|
|
✅ **"Unable to access identity settings"** - This was fixed by enabling Identity and Git Gateway in Netlify
|
|
✅ **Confirmation email links not working** - Created `/auth` page to handle authentication tokens
|
|
|
|
### Current Setup Status:
|
|
|
|
The site now has:
|
|
- Custom authentication handler at `/auth`
|
|
- Proper redirect handling for confirmation emails
|
|
- Automatic routing from hash-based tokens to query parameters
|
|
|
|
**If you're still getting confirmation email issues:**
|
|
1. Go to https://app.netlify.com/sites/ym1ktc/settings/identity
|
|
2. Check that Identity is enabled
|
|
3. Go to Services tab and ensure "Git Gateway" is enabled
|
|
4. The confirmation links should now work properly
|
|
|
|
### Common Issues:
|
|
|
|
1. **"Unable to access identity settings"**: Enable Identity service and Git Gateway in Netlify dashboard
|
|
2. **Can't log in**: Check if Identity is enabled and user is invited
|
|
3. **Can't save posts**: Ensure Git Gateway is enabled and connected to GitHub
|
|
4. **Images not uploading**: Check media folder permissions in repository
|
|
5. **Custom domain issues**: Ensure Identity works on both netlify.app and custom domain
|
|
6. **404 on /admin/**: Check that _redirects file is deployed correctly
|
|
|
|
### Quick Verification Steps:
|
|
|
|
1. Check Identity status: https://app.netlify.com/sites/ym1ktc/settings/identity
|
|
2. Check Git Gateway: Should show "Connected" status when properly configured
|
|
3. Test admin access: https://taslak.radio.org.tr/admin/
|
|
4. Check browser console for JavaScript errors
|
|
|
|
### Support
|
|
|
|
For technical issues, contact the development team or check the Decap CMS documentation at https://decapcms.org/docs/
|
|
|
|
**Netlify-specific help:** https://docs.netlify.com/visitor-access/identity/
|