使用OWIN中的Auth0状态参数的URL重定向不起作用

时间:2018-06-18 21:48:58

标签: asp.net-mvc-5 owin auth0

我们目前使用的是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不应该保持不变吗?这是因为我们在免费等级吗?

1 个答案:

答案 0 :(得分:0)

看来这里的问题是由于我们在托管页面上配置了应用程序。登录名已更改为以下内容:

params: {state: "hereisthestate", scope:"openid email"}

我们将其更改为默认值:

params: config.internalOptions

现在我们的应用程序可以根据需要重定向!