我们目前使用的是Auth0的免费版本,我们为OWIN(ASP.NET)的Auth0创建了一个新项目(以this开头),但不管我们为重定向网址传递了什么,我们总是成功登录后重定向到应用程序的根目录。
我甚至查看了Auth0.Owin
来源(here),看来authorize
请求已正确构建,看起来像是:
https://myapp.auth0.com/authorize?client_id=dasojd09asudaosidj&connection=&response_type=code&state=的 6UwOVen2DDCHH3WgPEQ2BisyiIt9UehGo3NNtkDoxBAj3Oexyz17viCvwrkleBA7OoNw4ZdxmNCIXKk9p2sYwVFrhbzjp623Y_EDicq3biEi_AYqkKoNAltmSFyjpM6z &安培;范围=的OpenID%20profile
但在此之后上升并从auth0.com返回login
看起来像(注意state
不同):
https://myapp.auth0.com/login?state=的 woSo7Y2CxjSPvKeG6al8b_OrzHFB88-P &安培;客户= dasojd09asudaosidj&安培;协议=的oauth2&安培;连接=安培; RESPONSE_TYPE =代码&安培; REDIRECT_URI = HTTP%3A%2F%2Flocalhost%3A53474%2Fsignin- auth0&安培;范围=的OpenID%20profile&安培;观众= HTTPS%3A%2F%2Fmyapp.auth0.com%2Fuserinfo
当我检查已解码的state
时,它实际上只有字符hereisthestate
,即使它最初有类似http://localhost:53474?query=99999
的内容。
我正在尝试遵循documentation中列出的指导原则,但只是看来auth0.com在state
来电时获取login
参数。
我错过了旗帜或设置吗?整个生命周期中state
不应该保持不变吗?这是因为我们在免费等级吗?
答案 0 :(得分:0)
看来这里的问题是由于我们在托管页面上配置了应用程序。登录名已更改为以下内容:
params: {state: "hereisthestate", scope:"openid email"}
我们将其更改为默认值:
params: config.internalOptions
现在我们的应用程序可以根据需要重定向!