Accounts 服务
注册与登录
@downcity/services 下最常见的 register、login 和 user_token 返回链路。
@downcity/services 最直接解决的问题,就是让产品在没有自建账号系统的情况下先跑通注册登录。
register
const session = await guest.service("accounts").action("register").invoke({
email: "user@example.com",
password: "password123",
town_id: "town_demo",
});login
const session = await guest.service("accounts").action("login").invoke({
email: "user@example.com",
password: "password123",
town_id: "town_demo",
});为什么这里要带 town_id
因为 service 在登录或注册成功后,通常会顺手向 City 申请该 town 下的 user_token。
所以它需要知道:
- 当前是哪个产品
- 当前要给哪个产品上下文签 token
登录成功后要做什么
不是继续一直用 guest client,而是切到正常用户态:
const user = new City({
role: "user",
city_url,
town_id: "town_demo",
user_token: session.user_token,
});