Back to skills
SKILL.md
020 Standard C6daf25c
ASecurityStandard OAuth 2.0 Authorization Code flow for web applications with backend servers.
- 9 stars
- 0 votes
- 0 copies
- 0 views
- Added October 11, 2026
Works with
Security analysis
100/100npx -y skills add tools-only/X-Skills --skill 020-standard_c6daf25c --agent claude-codeAre you the author of 020 Standard C6daf25c?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tools-only-020-standard-c6daf25c)# Authorization Code Flow Template
Standard OAuth 2.0 Authorization Code flow for web applications with backend servers.
## When to Use
- Web applications with secure backend servers
- Confidential clients that can protect client_secret
- When you need refresh tokens for long-lived access
## Mermaid Template
```mermaid
%%{init: {'theme': 'base', 'themeVariables': {
'actorBkg': '#ddd6fe',
'actorTextColor': '#1f2937',
'actorBorder': '#6d28d9',
'signalColor': '#334155',
'signalTextColor': '#1f2937',
'noteBkgColor': '#f8fafc',
'noteTextColor': '#1f2937',
'noteBorderColor': '#334155'
}}}%%
sequenceDiagram
autonumber
box rgba(165,243,252,0.3) BROWSER/USER
participant U as ๐ค User
participant B as ๐ Browser
end
box rgba(221,214,254,0.3) CLIENT APPLICATION
participant A as ๐ฅ๏ธ App Server
end
box rgba(167,243,208,0.3) SALESFORCE
participant SF as โ๏ธ Salesforce<br/>Authorization Server
end
Note over U,SF: Authorization Code Flow (RFC 6749)
U->>B: 1. Click "Login with Salesforce"
B->>A: 2. Initiate OAuth Login
A->>A: 3. Generate state parameter (CSRF protection)
A->>B: 4. Redirect to Salesforce /authorize
Note over A,B: response_type=code<br/>client_id=CONSUMER_KEY<br/>redirect_uri=CALLBACK_URL<br/>scope=api refresh_token<br/>state=RANDOM_STATE
B->>SF: 5. GET /services/oauth2/authorize
SF->>B: 6. Display Login Page
U->>SF: 7. Enter Username & Password
SF->>SF: 8. Authenticate User
SF->>B: 9. Display Consent Screen
Note over SF,B: "App requests access to:<br/>โข API Access<br/>โข Refresh Token"
U->>SF: 10. Grant Consent (Allow)
SF->>SF: 11. Generate Authorization Code
SF->>B: 12. Redirect to callback_uri
Note over SF,B: ?code=AUTH_CODE_123<br/>&state=RANDOM_STATE
B->>A: 13. Deliver Code to App Server
A->>A: 14. Verify state matches
A->>SF: 15. POST /services/oauth2/token
Note over A,SF: grant_type=authorization_code<br/>code=AUTH_CODE_123<br/>client_id=CONSUMER_KEY<br/>client_secret=CONSUMER_SECRET<br/>redirect_uri=CALLBACK_URL
SF->>SF: 16. Validate Code & Client
SF->>A: 17. Return Tokens
Note over SF,A: {<br/> access_token: "...",<br/> refresh_token: "...",<br/> instance_url: "https://...",<br/> token_type: "Bearer",<br/> issued_at: "..."<br/>}
A->>A: 18. Store tokens securely
A->>B: 19. Set user session
B->>U: 20. โ
Successfully Logged In
```
## ASCII Fallback Template
```
โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโ
โ User/ โ โ Application โ โ Salesforce โ
โ Browser โ โ Server โ โ (Auth Server) โ
โโโโโโฌโโโโโโ โโโโโโโโโฌโโโโโโโโ โโโโโโโโโโโฌโโโโโโโโโโโ
โ โ โ
โ 1. Click Login โ โ
โโโโโโโโโโโโโโโโโโโ>โ โ
โ โ โ
โ 2. Redirect to โ โ
โ /authorize โ โ
โ<โโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ 3. GET /authorize (client_id, scope, state) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ>โ
โ โ โ
โ 4. Login Page โ
โ<โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โ 5. Enter Credentials โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ>โ
โ โ โ
โ 6. Consent Screen โ
โ<โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โ 7. Grant Consent (Allow) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ>โ
โ โ โ
โ 8. Redirect with ?code=ABC123&state=xyz โ
โ<โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โ 9. Deliver Code โ โ
โโโโโโโโโโโโโโโโโโโ>โ โ
โ โ โ
โ โ 10. POST /token โ
โ โ (code, secret) โ
โ โโโโโโโโโโโโโโโโโโโโโโโ>โ
โ โ โ
โ โ 11. Access Token + โ
โ โ Refresh Token โ
โ โ<โโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โ 12. Logged In โ
โ โ
โ<โโโโโโโโโโโโโโโโโโโ โ
```
## Key Endpoints
| Endpoint | URL | Purpose |
|----------|-----|---------|
| Authorization | `https://login.salesforce.com/services/oauth2/authorize` | Start OAuth flow |
| Token | `https://login.salesforce.com/services/oauth2/token` | Exchange code for tokens |
## Security Considerations
1. **Always use HTTPS** for redirect_uri in production
2. **Validate state parameter** to prevent CSRF attacks
3. **Store client_secret securely** (never in client-side code)
4. **Use short-lived access tokens** with refresh token rotation
## Customization Points
Replace these placeholders:
- `CONSUMER_KEY` โ Your Connected App's Consumer Key
- `CONSUMER_SECRET` โ Your Connected App's Consumer Secret
- `CALLBACK_URL` โ Your registered callback URL
- `RANDOM_STATE` โ Cryptographically random state value
Attribution
Comments
Loading commentsโฆ
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.