如何确保隐式OpenId隐式流在Couchbase Sync Gateway中起作用 [英] how to make sure implicit OpenId implicit flow works In Couchbase Sync Gateway

查看:58
本文介绍了如何确保隐式OpenId隐式流在Couchbase Sync Gateway中起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在后端使用Identityserver4在我的应用程序中获取jwt令牌,我想将令牌发送到syncgateway并进行sessionid,我读了这篇文章

hi I am using identityserver4 in backend for getting jwt token inside of my app I want send my token to syncgateway and take a sessionid I read this article https://docs.couchbase.com/sync-gateway/current/authentication.html#implicit-flow and i am using OpenID Connect implisit flow but I have this response any time I sent POST http://localhost:4984/todo/_session by Athurazation Breare

{
    "error": "Unauthorized",
    "reason": "Invalid login"
}

我的SG配置与此相同

{
  "log":["*"],
  "logging": { 
    "log_file_path": "c://var/tmp/sglogs",
    "console": {
      "log_level": "debug",
      "log_keys": ["*"]
    },
    "error": {
      "enabled": true,
      "rotation": {
        "max_size": 20,
        "max_age": 180
      }
    },
    "warn": {
      "enabled": true,
      "rotation": {
        "max_size": 20,
        "max_age": 90
      }
    },
    "info": {
        "enabled": true,
        "rotation": {
            "max_size": 100,
            "max_age": 6,
            "localtime": false
        }
    },
    "debug": {
        "enabled": false,
        "rotation": {
            "max_size": 100,
            "max_age": 2,
            "localtime": false
        }
    }
  },
  "adminInterface": "127.0.0.1:4985",
  "interface": "0.0.0.0:4984",
  "databases": {
    "todo": {
      "server": "http://127.0.0.1:8091",
      "username": "Administrator",
      "password": "@2588854424@",
      "bucket": "todo",
      "users":{ 
          "zkhahmadi": {"password": "123456", "admin_channels": ["*"]}
      },
      "roles": { 
        "Admin": {
          "admin_channels": [ "*" ]
        },
        "_TestAdmin": {
          "admin_channels": [ "*" ]
        }
      },
      "oidc": {
          "default_provider":"providertodo",
          "providers": {
            "providertodo": {
                "issuer":"https://staging.org/ids",
"validation_key":"MIIDNjCCAh6gAwIBAgIQT0Bt5EJjiNTYWoJeV/8yMzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAlOZXBocm9haWQwHhcNMjAwODMwMDcxNzQyWhcNMjAwOTI5MDgxNzQyWjAbMRkwFwYDVQQDDBBbVEVTVF0gTmVwaHJvYWlkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvqz85sqnkhTJYDhw40Tp+7GKucgQ254IYyzX1II8JtwFm2q3iVIGLhZeewDOvPgZ/oQIJ7/D4husV7twK+WTTGfSoBOnfWPdFyozx826Y5M48/YeBXGRFhKwQbVgeF7On1Wr/o8Nrgk8GlpKlEN2Ir1T+RNoCcZcunOnouHma1BsYiYY3OQFpTQ0A3a+qD7TYnqJ5652dnNlLCSaJtGbfg7cGe7hjiCTEQKT/6nAZ5BznW59Gqldtrzm1cztydKYUDtfDGGJCvWwi2r1NwOXD6CuI6yti8PXwsxsWYVy7Em5o8oalq2BEa+5ljysvmCGSGmAya+vseOrCi53XaNfQIDAQABo30wezALBgNVHQ8EBAMCBPAwLAYDVR0lAQH/BCIwIAYIKwYBBQUHAwQGCCsGAQUFBwMCBgorBgEEAYI3CgMMMB0GA1UdDgQWBBTrOGbtwpB5vZJKMva9yaUE6SB2+jAfBgNVHSMEGDAWgBTznnnsIZL8ItV1yObizdwjnN08QTANBgkqhkiG9w0BAQsFAAOCAQEAWRprTDx696N8uS4yfKsIRhGJrgbKnfabhd+nsZq3v4nSXsNh39Whz3TwhiyzjDw9nk+IFyerHdPlW1G6IIx2GxqOcfSaega6tt4TzPBnX7AM7sEjmDN+z7gk3fvjCSoSlYwp2jgLypUX5LkdPQV4lLu+RWrOwBTP9Z2AuHAaF+K9heIncsPpG/jRnTQN/aO+hHGjE6WAyU+Kx8KP5Y+I2u9Srt9tRqCTAuXEsoiTgl4PivKowxl7xporMxYSh1pZFlkoJZsiHDkLvTAtEiie96w0yhbrP7Fi//GYUq0/wIzVBvn/ySX9qbKWuxFFv7bnpY0CRqmSXxmdIWoejQ==","register":true,"client_id":"native.code","callback_url":"http://localhost:4984/bucketname/_oidc_callback"}
          }
        },
    "sync": 
    `function(doc,oldDoc){
        if (doc.Status){
        channel("Done");
    } else {
        channel("Doing");  
    }
    }`
    ,
      "allow_conflicts": true,     
      "import_docs": true,
      "enable_shared_bucket_access":true,
      "num_index_replicas":0
    }
  }
  ,"CORS": {
        "Origin":["*"],
        "LoginOrigin":["*"],
        "Headers":["Content-Type"],
        "MaxAge": 1728000
    }
}

标明我的令牌是

{
  "alg": "RS256",
  "kid": "5279CF8BB69C2037B7C89299DE62D17C9738C6A7",
  "typ": "JWT",
  "x5t": "UnnPi7acIDe3yJKZ3mLRfJc4xqc"
}

,并且我可以在 https://jwt.io/#debugger-io

推荐答案

我发送了访问令牌,当我发送了id令牌时,syncgateway无法使用它,它可以正常工作并给我一个sessionId

I sent access token and syncgateway don't work with it when I sent id token it act correctly and give me a sessionId

这篇关于如何确保隐式OpenId隐式流在Couchbase Sync Gateway中起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆