我正在尝试使用Python Flask中的Okta实现SSO,但是我在他们的文档中没有看到可以传递参数并在成功的登录响应中检索出参数的地方。我目前以https://github.com/jpf/okta-pysaml2-example/blob/master/app.py为基础建模了2个端点。
SP启动的方法,该方法获取我要传递的参数,并将SAML请求发送给Okta。
IDP启动的方法,在有效的登录名下,Okta会发送SAML响应,然后重定向到要附加传入的初始参数的URL。这可能吗?
答案 0 :(得分:0)
用户去登录的位置由中继状态确定。这是一个不透明的值,因此您要设置的任何参数都可以包含在其中。为简单起见,中继状态可以是编码的URL。另外,这可能是您的SP知道如何转换/解密以将用户重定向到下一个状态(即页面)的内容。
对于SP发起的请求,您(SP)提供中继状态。
对于IDP发起的请求,您应该能够设置默认的中继状态。专门针对okta,在有问题的应用程序的“应用程序-设置-登录方法”下设置默认中继状态。
(如果您希望okta将您发送到其他位置,请说说SP应用程序的“主要”与“管理控制台”部分,则您需要多个okta应用程序,或者将用户发送到同一位置和您的SP弄清楚将它们“下一步”发送到哪里,可能是基于登录的用户名,还是通过身份验证响应中包含的“属性值声明”。)