当前位置: 首页 > 知识库问答 >
问题:

AspNet核心重定向循环中的Giraffe+GitHub OAuth流

邰建业
2023-03-14

我创建了一个测试应用程序,希望在其中使用GitHub Oauth流,示例代码如下:路由如下所示:

let webApp =
    logRequest >=> choose [
        GET >=> 
            choose [
                route "/" >=> indexHandler "world"
                route "/login" >=> loginHandler
                route "/signin-github" >=> signinHandler
            ]
        mustBeLoggedIn >=>
            GET >=>
                choose [
                    route "/api" >=> indexHandler "authenticated world"
                ]    
        setStatusCode 404 >=> text "Not Found" ]
let mustBeLoggedIn : HttpHandler =
    requiresAuthentication (redirectTo true "/login")

let loginHandler = 
    challenge "GitHub"
options.CallbackPath <- new PathString("/signin-github")

编辑6/14/2018:工作解决方案:https://github.com/eelcomulder/giraffeoauth

共有1个答案

秦宏盛
2023-03-14

长颈鹿频道上的函数式编程的某人(damukles)为我解决了这个问题,结果是一个少是多的情况和我犯的一个错误。mustBeLoggedIn处理程序应该如下所示:

    let mustBeLoggedIn : HttpHandler =
        requiresAuthentication (challenge "GitHub")

路由“/login”和“/signin-github”可能会被删除,显然身份验证库比以前处理得更多了。我会写一个关于这个的博客,会更新这个帖子,当完成。

 类似资料:
  • 我找不到我的谜题。当我加载页面时,chrome会说:localhost页面不工作,localhost重定向了你太多次。我猜这是在创造一个循环。我可能做错了一些我无法得到的事情。这是我的密码。 授权控制器 模型 Authenticate.php config/auth.php

  • 我有一个小难题,我正在尝试建立一个登录系统,它使用laravel auth脚手架将普通用户与管理员用户区分开来。 问题是它在中间件中处于无限重定向循环中。 在我按下登录按钮后,它会不断重定向到一条路线,问题是,我如何才能用“laravel方法”或任何其他方法解决这个问题。 这是我的控制器:1。基本家庭控制器: 主管理控制器-入口控制器: 登录控制器(默认的一个从auth scaffolding-由

  • 我不明白我做错了什么。我的代码应该只是从0增加I:0.1,并在每个位置增加0.5,这真的很简单,但是我得到的却是。 有人能帮我一下吗?

  • 我有一个oauth2客户端spring启动应用程序,其依赖项为:-spring-boot 1.2.0.rc1-spring-security-OAUTH2 2.0.4.release-spring-security3.2.5.release 客户端进行身份验证,身份验证在SecurityContextHolder中设置,但当请求重定向到原始url时,筛选器链将再次开始处理。我注意到在中,conte

  • 我们最近在Drupal前面加了清漆,因为服务器负载很重,我们总体上非常满意。 剩下的唯一问题是,我们有时在缓存的数据中有一个无限的重定向循环。我们通过HTTP监控发现了这一点。我们每分钟都会查看头版。缓存中的页面有时包含完整的首页,但设置了一个位置头,将用户再次发送到首页。 我们不太确定是什么导致了这一点,但也不知道如何找到这一点。当然,处理这个问题的最好方法是在drupal方面,但我们无法真正说

  • 我有一个具有两个路径的角色的入口: SEO部署是正确的: 它开始正常工作。我找不到一个合理的动机支持这种行为。