On Tue, Sep 27, 2011 at 11:29 PM, Nuo Yan <yan....@gmail.com> wrote: > Hi Jake, > > Thanks for your reply. > > Sorry if my previous email was misleading, but I don't absolutely need > key-based authentication; that just turned out to be the what I first > thought of. I was trying to figure out what authentication methods were > supported so that I can evaluate. HTTPS + basic auth with strong passwords > do sound good to me at this moment. However, at this moment, instead of > using authentication, I turned out configured security rules on my the > neo4j > server to only take connections from my app server so I temporarily don't > have a problem in the near future. But it's good to know about the > authentication extension. > > By the way, do you have any data about the performance impact of using the > authentication extension to do basic auth + HTTPS compare to talking to > neo4j without authentication (both through REST)? If you have such data, > please let me know. That would be very helpful information. >
I'm afraid not. However, as long as you make sure to reuse TCP connections (Connection:keep-alive), the overhead of https should be minimal. While the same does not apply for basic auth, it should not add a significant performance overhead compared to "normal" REST. /Jake > > Thanks, > Nuo > > > > On Tue, Sep 27, 2011 at 6:10 AM, Jacob Hansson < > jacob.hans...@neotechnology.com> wrote: > > > As far as I know, the auth plugin currently only supports HTTP BASIC > > authentication. But it would be interesting to expand it to allow other > > authentication methods, for instance by allowing pluggable authentication > > providers. > > > > So if I understand your question correctly, yes, it does support > > authentication beyond just limiting access by IP, but it does not support > > authentication using keys or certificates. > > > > Out of curiosity, what is the driver behind needing key-based > > authentication? The combination of HTTP BASIC, strong passwords and HTTPS > > seems like it would supply quite strong security, no? > > > > /Jake > > > > On Wed, Sep 21, 2011 at 9:16 PM, Nuo Yan <yan....@gmail.com> wrote: > > > > > Limiting access to certain URIs or IPs is great, but ideally at this > > moment > > > I also need something like a key-based authentication so I can send a > > > private key in the headers from my restclient and neo4j would > > authenticate > > > and only take authenticated requests. Does the authentication extension > > > support key-based authentication? If not, what forms of authentication > > does > > > it currently support (user/password, token-based, shared-secret)? > > > > > > Thanks, > > > Nuo > > > > > > On Wed, Sep 21, 2011 at 11:24 AM, Peter Neubauer < > > > peter.neuba...@neotechnology.com> wrote: > > > > > > > Nuo, > > > > Thomas Baum has been working on an authentication extension for Neo4j > > > > Server, see https://github.com/neo4j/authentication-extension. He > > > > could help you set it up and test it - it's used in hosting scenarios > > > > and should do what you want in terms of limiting access to certain > > > > URIs if that is what you want? > > > > > > > > Cheers, > > > > > > > > /peter neubauer > > > > > > > > GTalk: neubauer.peter > > > > Skype peter.neubauer > > > > Phone +46 704 106975 > > > > LinkedIn http://www.linkedin.com/in/neubauer > > > > Twitter http://twitter.com/peterneubauer > > > > > > > > http://www.neo4j.org - Your high performance graph > > > database. > > > > http://startupbootcamp.org/ - Ă–resund - Innovation happens HERE. > > > > http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing > > party. > > > > > > > > > > > > > > > > On Wed, Sep 21, 2011 at 6:14 PM, Nuo Yan <yan....@gmail.com> wrote: > > > > > For my scenario, I currently only use the LB for request > > > authentication, > > > > so > > > > > that not everyone on the network can access the neo4j server. In my > > use > > > > > case, I think making the base uri configurable (including the > > protocol, > > > > e.g. > > > > > https://foobar.com/) is enough. > > > > > > > > > > There are a couple other approaches that may also solve my problem. > > For > > > > > example, having a configurable option to make the REST APIs return > > only > > > > > relative paths in the result. Or, if neo4j could have a built-in > > > request > > > > > authentication mechanism for the REST interface, I may be able to > get > > > rid > > > > of > > > > > the lb completely. > > > > > > > > > > > > > > > On Wed, Sep 21, 2011 at 7:04 AM, Peter Neubauer < > > > > > peter.neuba...@neotechnology.com> wrote: > > > > > > > > > >> Nuo, > > > > >> right now the server is discovering its own IP upon startup. > > However, > > > > >> it sounds reasonable to return configurable base URL. I am just > > > > >> wondering if that really is enough to support a LB scenario? Do > you > > > > >> need more stuff there? > > > > >> > > > > >> Cheers, > > > > >> > > > > >> /peter neubauer > > > > >> > > > > >> GTalk: neubauer.peter > > > > >> Skype peter.neubauer > > > > >> Phone +46 704 106975 > > > > >> LinkedIn http://www.linkedin.com/in/neubauer > > > > >> Twitter http://twitter.com/peterneubauer > > > > >> > > > > >> http://www.neo4j.org - Your high performance graph > > > > database. > > > > >> http://startupbootcamp.org/ - Ă–resund - Innovation happens > HERE. > > > > >> http://www.thoughtmade.com - Scandinavia's coolest Bring-a-Thing > > > party. > > > > >> > > > > >> > > > > >> > > > > >> On Tue, Sep 20, 2011 at 6:57 PM, Nuo Yan <yan....@gmail.com> > wrote: > > > > >> > I access my neo4j server through the REST API. For security > > purpose, > > > I > > > > >> put > > > > >> > the neo4j server behind a nginx lb. I'm wondering if there is > > config > > > > >> entry > > > > >> > somewhere that I can set the neo4j server to return a customized > > > base > > > > uri > > > > >> > that I can set to my LB's uri. > > > > >> > > > > > >> > For example, currently creating a node by POSTing to the lb (say > > > > >> > https://10.0.0.1/db/data) returns > > > > >> > > > > > >> > { > > > > >> > "outgoing_relationships" : " > > > > >> > http://neo4j/db/data/node/160/relationships/out", > > > > >> > "data" : { > > > > >> > }, > > > > >> > "traverse" : " > > http://neo4j/db/data/node/160/traverse/{returnType} > > > ", > > > > >> > "all_typed_relationships" : " > > > > >> > http://neo4j/db/data/node/160/relationships/all/{-list|&|types} > ", > > > > >> > "property" : "http://neo4j/db/data/node/160/properties/{key}", > > > > >> > "self" : "http://neo4j/db/data/node/160", > > > > >> > "properties" : "http://neo4j/db/data/node/160/properties", > > > > >> > "outgoing_typed_relationships" : " > > > > >> > http://neo4j/db/data/node/160/relationships/out/{-list|&|types} > ", > > > > >> > "incoming_relationships" : " > > > > >> http://neo4j/db/data/node/160/relationships/in > > > > >> > ", > > > > >> > "extensions" : { > > > > >> > }, > > > > >> > "create_relationship" : " > > > http://neo4j/db/data/node/160/relationships > > > > ", > > > > >> > "paged_traverse" : " > > > > >> > > > > > >> > > > > > > > > > > http://neo4j/db/data/node/160/paged/traverse/{returnType}{?pageSize,leaseTime} > > > > >> > ", > > > > >> > "all_relationships" : " > > > > http://neo4j/db/data/node/160/relationships/all > > > > >> ", > > > > >> > "incoming_typed_relationships" : " > > > > >> > http://neo4j/db/data/node/160/relationships/in/{-list|&|types}" > > > > >> > > > > > >> > > > > > >> > Is there a config on the neo4j server that I can set to make it > > > either > > > > >> > return the lb URI "https://10.0.0.1" as the base uri or return > > > > relative > > > > >> path > > > > >> > in the result? > > > > >> > _______________________________________________ > > > > >> > Neo4j mailing list > > > > >> > User@lists.neo4j.org > > > > >> > https://lists.neo4j.org/mailman/listinfo/user > > > > >> > > > > > >> _______________________________________________ > > > > >> Neo4j mailing list > > > > >> User@lists.neo4j.org > > > > >> https://lists.neo4j.org/mailman/listinfo/user > > > > >> > > > > > _______________________________________________ > > > > > Neo4j mailing list > > > > > User@lists.neo4j.org > > > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > > > > _______________________________________________ > > > > Neo4j mailing list > > > > User@lists.neo4j.org > > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > > _______________________________________________ > > > Neo4j mailing list > > > User@lists.neo4j.org > > > https://lists.neo4j.org/mailman/listinfo/user > > > > > > > > > > > -- > > Jacob Hansson > > Phone: +46 (0) 763503395 > > Twitter: @jakewins > > _______________________________________________ > > Neo4j mailing list > > User@lists.neo4j.org > > https://lists.neo4j.org/mailman/listinfo/user > > > _______________________________________________ > Neo4j mailing list > User@lists.neo4j.org > https://lists.neo4j.org/mailman/listinfo/user > -- Jacob Hansson Phone: +46 (0) 763503395 Twitter: @jakewins _______________________________________________ Neo4j mailing list User@lists.neo4j.org https://lists.neo4j.org/mailman/listinfo/user