Azard / egg-oauth2-server

:star2: OAuth2 server plugin for egg.js based on node-oauth2-server
MIT License
178 stars 45 forks source link

关于revokeToken/Logout的实现 #25

Closed ole3021 closed 6 years ago

ole3021 commented 6 years ago

在文档说明中有revoceToken的实现,但是再实例的抽象中没有logout之类的方法,是不是缺少了关于logout的实现?还是有别的什么用法?

caiya commented 6 years ago

revoketoken可以自己自行实现一个,无非就是传一个accessToken,然后查询数据再删除之

ole3021 commented 6 years ago

可以的, 但是我想的是在这个插件中统一提供接口,这样就不需要在另外一个controller里单独处理这个logout的事件,这些登陆认证相关的都可以在这个插件中解决掉,这不是更简洁么。

回头提个PR

caiya commented 6 years ago

我是直接在插件中增加了一个方法,是可以的:

image

xianchenxc commented 6 years ago

我是用的 password 模式,想问下 logout 流程用 revokeToken 去删除数据库中信息,在 router.js 怎么去调 revokeToken 还是需要单独写一个controller?

Azard commented 6 years ago

@celbyo https://oauth2-server.readthedocs.io/en/latest/model/spec.html#revoketoken-token-callback 这个是 refresh_token grant type 的一个生命周期 不拘泥于 oauth2 流程的话可以单独写一个 controller

rexleimo commented 6 years ago

@caiya revokeToken这个方法怎么调用? image

caiya commented 6 years ago

@rainbowMorelhahahah 调用方法对着呢,看下extend的oauth里面有没有实现revokeToken方法,以下实现可以参考: async revokeToken(token) { try { return await this.ctx.model.RefreshToken.delRefreshToken(token); } catch (err) { return false; } }