-
Notifications
You must be signed in to change notification settings - Fork 1
Thoughts
Graham Cox edited this page Dec 29, 2016
·
2 revisions
- Discovery
- WebFinger
- Introspection document at well known location (/.well-known/ump-configuration)
- Authentication
- Open well known URL in a web context
- URL contains a redirect URI that is to be used at the end
- Server does everything it needs to do
- Server redirects web context to redirect URI, with an Access Token in the fragment
- Essentially exactly OAuth2 Implicit Flow
- User Registration / Management
- Outside of scope of this document
- Handle as part of authentication, or else outside of the protocol
- REST Endpoints
- Everything is done using hypermedia. No IDs, just links to other resources.
- Character Management
- GET /characters
- Default filter is all of my characters.
- GET /characters/
- POST /characters
- PUT /characters/
- DELETE /characters/
- GET /characters
- Game Reference Data
- GET /reference/character
- GET /reference/races
- GET /reference/classes
- GET /reference/skills
- GET /reference/stats
- GET /reference/traits
- Game Help
- GET /help
- Everything else is links between these documents
- Support some well-known names - e.g. /help/getting-started
- WebSocket Endpoint
- Standard set of messages in each direction
- Client -> Server
- Authenticate - Very first message to send. Contains the Access Token to indicate who the connection is about
- Command - A command from the character
- Standard set of messages for standard commands - e.g. Move, Speak, etc.
- Server -> Client
- LocationChangedEvent - Indication that something about the current location, or the contents of it, has changed
- CharacterChangedEvent - Indication that something about the current character has changed
- Effect - Indication that some other event has occurred with a noticeable effect.