Okta认证Djang

2024-06-12 18:29:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django应用程序,我正在尝试添加Okta身份验证。我目前已经创建了一个自定义后端,它利用Okta API对用户进行身份验证:

class OKTABackend(ModelBackend):

  def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)

  def authenticate(self, username=None, password=None):
    headers = {
      'Authorization': 'SSWS {}'.format(<my OKTA API token>),
      'Accept': 'application/json',
      'Content-type': 'application/json'
    }
    authentication_payload = {
      'username': username,
      'password': password
    }
    r = requests.post(
          <my OKTA app address>,
          headers=headers,
          data=json.dumps(authentication_payload)
    )

    try:
      r.raise_for_status()
      # code that finds/creates and returns user
    except:
      return None

我有一个带有表单的登录页面,该表单获取用户名和密码,并将信息传递到此后端进行身份验证。所有这些都在起作用。但当我进入OKTA网站,点击我的应用程序时,我希望它登录到应用程序中。目前它只是重定向到我的登录页面。如何启用从OKTA网站登录到我的应用程序?


Tags: selfnone身份验证apijson应用程序initdef