payloadcms / payload

Payload is the open-source, fullstack Next.js framework, giving you instant backend superpowers. Get a full TypeScript backend and admin panel instantly. Use Payload as a headless CMS or for building powerful applications.
https://payloadcms.com
MIT License
24.44k stars 1.55k forks source link

Logout method not availiable on local api #8631

Open sriechersrc opened 1 week ago

sriechersrc commented 1 week ago

Link to reproduction

No response

Environment Info

Binaries: Node: 22.8.0 npm: 10.8.2 Yarn: N/A pnpm: 8.12.1 Relevant Packages: payload: 3.0.0-beta.97 next: 15.0.0-canary.104 @payloadcms/db-mongodb: 3.0.0-beta.97 @payloadcms/email-nodemailer: 3.0.0-beta.97 @payloadcms/graphql: 3.0.0-beta.97 @payloadcms/live-preview: 3.0.0-beta.97 @payloadcms/live-preview-react: 3.0.0-beta.97 @payloadcms/next/utilities: 3.0.0-beta.97 @payloadcms/plugin-cloud: 3.0.0-beta.97 @payloadcms/plugin-cloud-storage: 3.0.0-beta.97 @payloadcms/plugin-nested-docs: 3.0.0-beta.97 @payloadcms/plugin-search: 3.0.0-beta.97 @payloadcms/plugin-seo: 3.0.0-beta.97 @payloadcms/richtext-lexical: 3.0.0-beta.97 @payloadcms/storage-vercel-blob: 3.0.0-beta.97 @payloadcms/translations: 3.0.0-beta.29 @payloadcms/ui/shared: 3.0.0-beta.97 react: 19.0.0-rc-06d0b89e-20240801 react-dom: 19.0.0-rc-06d0b89e-20240801 Operating System: Platform: darwin Arch: arm64 Version: Darwin Kernel Version 23.2.0: Wed Nov 15 21:54:51 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6030 Available memory (MB): 18432 Available CPU cores: 11

Describe the Bug

I am trying to access a logout method on the local api, however the method does not exist.

const payload = await getPayloadHMR({
  config: configPromise,
})

// Error Property 'logout' does not exist on type 'BasePayload'.  
payload.logout(...)

Is this by design or is the method simply not implemented yet?

Reproduction Steps

See above

Adapters and Plugins

No response

rilrom commented 1 week ago

Currently the documentation across both v2 and v3 shows that logout is not available using the local API. I agree this would be a great addition, would be interested to find out if this was intentional.

akhrarovsaid commented 1 week ago

Hey @sriechersrc,

I believe @rilrom is correct - the docs indicate that the Local API does not have a logout function. See Local API Auth Operations here. I'm not positive about why it is that way, but I'm certain it's for a good technical reason. That being said, I believe this issue belongs more in the Discussions section than as an issue, and maybe as a feature request to make the REST and Local API's more uniform.

As it stands, the way you log a user out is to call the REST API via the /api/<user-collection-slug>/logout endpoint.