我有一个 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 站点登录到我的应用程序?