我想向我的 GitHub 应用程序验证 GitHub 用户并提供给我的本地服务器 127.0.0.1:8000,但我无法获取令牌。
这就是 GitHub 显示身份验证的方式。
从 GitHub 文档中,我无法理解生成私钥后的身份验证过程,那么如何创建 JWT 和安装令牌?
有人可以告诉我下一步该怎么做吗?
我想向我的 GitHub 应用程序验证 GitHub 用户并提供给我的本地服务器 127.0.0.1:8000,但我无法获取令牌。
这就是 GitHub 显示身份验证的方式。
从 GitHub 文档中,我无法理解生成私钥后的身份验证过程,那么如何创建 JWT 和安装令牌?
有人可以告诉我下一步该怎么做吗?
您可以关注“从 GitHub 应用程序 Webhook 获取访问令牌”(Jerrie Pelser),它本身取自Piotr Gankiewicz的“ JWT RSA & HMAC + ASP.NET Core ”
Jerrie 提到了将 PEM 文件转换为 XML 格式的第一步。
您可以使用在线工具或编写课程
你需要你的 GitHub 应用程序 ID:
您将在文章中找到JwtSecurityTokenHandler
用于从 XML 密钥创建 JSON Web 令牌的类。
@api_view(['POST'])
@permission_classes([AllowAny, ])
def authenticate_user(request):
try:
email = request.data['email']
password = request.data['password']
user = User.objects.get(email=email, password=password)
if user:
try:
payload = jwt_payload_handler(user)
token = jwt.encode(payload, settings.SECRET_KEY)
user_details = {}
user_details['name'] = "%s %s" % (
user.first_name, user.last_name)
user_details['token'] = token
user_logged_in.send(sender=user.__class__,
request=request, user=user)
return Response(user_details, status=status.HTTP_200_OK)
except Exception as e:
raise e
else:
res = {
'error': 'can not authenticate with the given credentials or the account has been deactivated'}
return Response(res, status=status.HTTP_403_FORBIDDEN)
except KeyError:
res = {'error': 'please provide a email and a password'}
return Response(res)