Files
outline/server/policies/oauthAuthentication.ts
T
Tom Moor a06671e8ce OAuth provider (#8884)
This PR contains the necessary work to make Outline an OAuth provider including:

- OAuth app registration
- OAuth app management
- Private / public apps (Public in cloud only)
- Full OAuth 2.0 spec compatible authentication flow
- Granular scopes
- User token management screen in settings
- Associated API endpoints for programatic access
2025-05-03 19:40:18 -04:00

15 lines
373 B
TypeScript

import { Team, User, OAuthAuthentication } from "@server/models";
import { allow } from "./cancan";
import { isTeamModel } from "./utils";
allow(User, "listOAuthAuthentications", Team, (actor, team) =>
isTeamModel(actor, team)
);
allow(
User,
["read", "delete"],
OAuthAuthentication,
(actor, oauthAuthentication) => actor?.id === oauthAuthentication?.userId
);