我使用角5前端和django作为后端。我使用JWT令牌在django和angular之间进行通信。如何使用令牌在后端获取记录的用户详细信息。
EG:
class PostSerializer(ModelSerializer):
class Meta:
model = PostDetail
fields = [
'title',
'upvote',
]
这里upvote是一个包含所有投票用户列表的多对多字段。我想再添加一个字段" user_vote_status"检查登录用户的投票状态。
我怎么能弄清楚这个问题,请帮助我。
答案 0 :(得分:0)
在这里。 JWT由三部分组成,分为“。”中心部分包含用户详细信息。因此,您可以通过分割来解决该问题并使用window.atob
解码该部分function getUserInfo() {
const token = getToken();
let payload;
if (token) {
payload = token.split(".")[1];
payload = window.atob(payload);
return JSON.parse(payload);
} else {
return null;
}
}
function getToken() {
return localStorage.getItem("jwt-token");
}
答案 1 :(得分:0)
您可以通过这种方式在任何django视图中获取usernamec
@api_view(['POST'])
def apiname(request):
username = request.user.username
从角度前端开始,您需要在标题
中发送jwt标记Authorization: JWT "token"