我目前正在用Go编写API,并且一直在绞尽脑汁地思考如何正确和安全地进行身份验证/授权。
据我所知,是这样的:
api/user/register端点注册帐户(或为现有用户注册api/user/login )我的问题是关于处理刷新令牌的步骤。
我还在编写客户机应用程序(在React中);我不会向公众发布API。我只是将后端编写为客户端应用程序的API。
api/auth/token路线吗?我在实现示例中不断地阅读它们,我觉得我只需要一些助手函数来查询数据库并在后端代码中重新发出令牌,而不必查询另一个端点就可以了。抱歉,如果它们是愚蠢的问题,但我已经仔细研究了一页一页的详细说明,每页之间的细微差别使我困惑和不确定什么是真正的“最佳实践”在生产。
发布于 2017-05-14 14:50:00
我想你把登录这个词搞糊涂了。我称它为/api/user/login,而不是/api/user/authentication。因此,如果请求将一个json附加到其主体,它将返回一个有效的令牌。但是,如果请求获得有效的身份验证标头,则只需发出一个新的令牌,该令牌在同一时间内有效。这是特别好的正面,所以你可以尝试重新测量自动。
newUser := types.User{}
if r.Body != nil {
err := json.NewDecoder(r.Body).Decode(&newUser)
...
}
authHeader := r.Header.Get("Authorization")
if authHeader != "" {
_, err := USERAUTH.CHeckJWT(w,r)
if err !=nil {
...,
}
newToken := GenerateTokenFromToken(token)
}https://stackoverflow.com/questions/43382539
复制相似问题