Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Bachir El Khoury
    @bachirelkhoury
    all good, only stuck one thing, the ramses_auth_tkt that I get from login
    currently returning 3 headers, but can't seem to get the right header setup on the client.
      "headers": [
        [
          "Set-Cookie",
          "ramses_auth_tkt=118c288d70246a38e4a9ab4df07accce37368eb2d73e6b8fe8eaf84b1e0aee7e8b3bb07df78d0882a59baaf712e2f71249ac42802d867e60f97fca9be0dc21c857f743a6Zm9vYmFy!userid_type:b64unicode; Path=/; HttpOnly"
        ],
    what should the header be set to? this doesn't seem to be correct and tried most combinations I can think of
    Authorization=118c288d70246a38e4a9ab4df07accce37368eb2d73e6b8fe8eaf84b1e0aee7e8b3bb07df78d0882a59baaf712e2f71249ac42802d867e60f97fca9be0dc21c857f743a6Zm9vYmFy
    Bachir El Khoury
    @bachirelkhoury
    is that similar to JWT implementation? https://jwt.io/
    kalyankuramana
    @kalyankuramana
    Authorization: ApiKey username:token
    kalyankuramana
    @kalyankuramana
    thats the format when apitoken policy is used
    kalyankuramana
    @kalyankuramana
    if one uses ticket policy , then the key should be sent over a cookie with cookie name as auth_tkt
    for more information look in pyramid.authentication.AuthTktAuthenticationPolicy
    and observe pyramid.authentication.AuthTktCookieHelper.identify()
    Bachir El Khoury
    @bachirelkhoury

    thanks @kalyankuramana I have setup to use x_token_auth:

    securedBy: [x_token_auth]

    The issue I'm getting is that x_token_auth requires settings as per this comment:
    https://github.com/ramses-tech/ramses/issues/97#issuecomment-160353919

    ...
        - x_token_auth:
            description: Authorization header token policy
            type: x-ApiKey
            settings:
                foo: bar
    ...

    if I run this I get this error which is fair enough, I'm not sure what parameters this accepts. Can't find references in the docs.

      File "~/.virtualenvs/myenv/lib/python2.7/site-packages/ramses/auth.py", line 133, in _setup_apikey_policy
        policy = ApiKeyAuthenticationPolicy(**params)
    TypeError: __init__() got an unexpected keyword argument 'foo'
    kalyankuramana
    @kalyankuramana
    no need to provide settings parameter , it is required if you want to use custom model for auth and have not specified in custom schema ("_auth_model":true) then
    kalyankuramana
    @kalyankuramana
    ...
    settings:
    user_model: <schema name>
    check: <a callback to return none if user does not exist or principal identifier if user exists: format check(username,apikey,request)> (optional)
    credentials_callback: < a callback to return token given username and request> format:(username,request) (optional)
    ...
    Bachir El Khoury
    @bachirelkhoury
    @kalyankuramana thanks I will check it out. Not many examples out there about that which seems strange given it looks like a great API framework.
    Bachir El Khoury
    @bachirelkhoury

    Using x_token_auth seems to register ok and return the token, only this setting doesn't generate the login, logout views. Maybe I'm missing something, or am I support to implement login/logout myself?
    thanks

    securedBy: [x_token_auth]

    https://github.com/ramses-tech/ramses/blob/51b2094a2dca4cacd37f3ce2466e191b0045549f/ramses/auth.py#L155-L158

    x_ticket_auth does:

    securedBy: [x_ticket_auth]

    https://github.com/ramses-tech/ramses/blob/51b2094a2dca4cacd37f3ce2466e191b0045549f/ramses/auth.py#L97-L100

    Bachir El Khoury
    @bachirelkhoury
    Ok I see, I needed to POST /auth/token to login.
    all good then, thanks.
    POST http://localhost:6543/api/auth/token
    {"login":"someUser", "password":"password"}
    
    {
      "headers": [
        [
          "WWW-Authenticate",
          "ApiKey somUser:3ad6f8ab388d4be2b20a81b6c2fcc3dd"
        ]
      ],
      "timestamp": "2016-10-11T04:22:57Z",
      "title": "OK",
      "status_code": 200,
      "explanation": "",
      "message": "Token claimed"
    }
    Jonathan Stoikovitch
    @jstoiko

    disclaimer: token auth in nefertari and ramses should be considered alpha. it is not documented nor tested.

    feel free to try what's already in place, improve it and make a PR, we can include it in the next release.

    Bachir El Khoury
    @bachirelkhoury
    cool thanks @jstoiko
    Charlene Gilbert
    @gilbcharlene
    how do I configure elasticsearch.hosts if my elasticsearch has ssl enabled and credentials directly in the host url?
    I checked nefertari/elasticsearch.py and it looks like it's splitting the elasticsearch.hosts string with the ':' delimeter which is incorrect
    Charlene Gilbert
    @gilbcharlene
    This is what I have in local.ini
    elasticsearch.host = localhost
    elasticsearch.port = 2394
    #elasticsearch.hosts = localhost:2394
    elasticsearch.http_auth = user:secret
    elasticsearch.use_ssl = True
    elasticsearch.verify_certs = True
    Charlene Gilbert
    @gilbcharlene
    despite that I see that nefertari is making requests using the http protocol and not https
    Charlene Gilbert
    @gilbcharlene
    I made a post at stackoverflow with more information on the error: http://stackoverflow.com/questions/40073938/how-to-configure-elasticsearch-to-use-ssl-with-basic-auth
    Charlene Gilbert
    @gilbcharlene
    I was looking at nefertari/elasticsearch.py and it appears that params is an empty dictionary when it should contain the other settings from local.ini (-hosts). I am going to try and submit a pull request
    bigmodem
    @bigmodem
    I want to use polymorphic_query and when I send requests like:
     http --session=admin :6543/api/customers,nodes
    I always get error, is it a bug?
    And when I use aggregations like:
    http --session=admin :6543/api/customers _aggs.my_agg.terms.field==state
    I found the _aggs parameter can't be used to implement nested aggregations like:
    bigmodem
    @bigmodem
    {
      "aggs": {
        "colors": {
          "terms": {
            "field": "color"
          },
          "aggs": {
            "avg_price": {
              "avg": {
                "field": "price"
              }
            }
          }
        }
      }
    }
    So I want to use body parameter to get my nested aggregations, my command is
     http --session=admin :6543/api/customers  body=="{_source:false,aggs:{types:{terms:{field:\"type\"},aggs:{avg_id:{avg:{field:\"customer_id\"}}}}}}"
    But I always get documents from server instead of a aggregation!
    Most of important I found I can't change ES mappings in my schema
    bigmodem
    @bigmodem
    There is only a _db_settings in schema field and I think there would be a _es_mappings for each field in next version.
    I think all nefertari or nefertari_sqa must be improved to solve above issues.
    bigmodem
    @bigmodem
    I use python 3.5.2 in OS X 10.11.6
    nefertari (0.7.0)
    nefertari-sqla (0.4.2)
    pyramid (1.7.3)
    pyramid-jinja2 (2.6.2)
    pyramid-sqlalchemy (1.6)
    pyramid-tm (1.0)
    ramses (0.5.3)
    SQLAlchemy (1.1.2)
    SQLAlchemy-Utils (0.32.9)
    nekopep
    @nekopep
    hello
    I've just installed ramses and tryed the pyramid scaffold associated
    I've installed mongodb and elastcisearch, I manage to run the example
    but I can't manage to POST to the api :/
    when I run:
    http POST 192.168.1.7:6543/api/items name=banane description='bananes jaunes'
    I got:
    "message": "Bad or missing param '_asdict'",
    Any idea??
    Robert
    @RHSman
    Hi, Awesome product!! I'm trying to add a unique requirement for my post inserts. I need the unique key to be lift_name, resort. I am sure its nice and easy but can't find docs and on _db_settings. Thanks Rob
    Robert
    @RHSman
    and I also need to add geo data. Is there a way to do this to make the most of elasticsearch's geo spatial search? Thanks
    GHApps
    @GHapps
    Hi there - have a couple of questions of the architecture of this product. 1) Can it be plugged in to an existing Elasticsearch index and provide an api for it. 2) Why do the tutorial seem to need both postgressql and elasticsearch? e.g https://www.elastic.co/blog/make-an-elasticsearch-powered-rest-api-for-any-data-with-ramses