Skip to content

Custom cookie handling / authentication #72

Description

@meyercm

I would like to be able to specify the cookie used when connecting to a certain remote node.

My use case: I have a LAN setup with two separate, distributed applications running. I am currently using standard rpc and pg2 to manage the distributed aspects of both, but now one node in cluster_A needs to make an RPC to a node in cluster_B. I would like to write code like:

gen_rpc:set_cookie(RemoteNode, RemoteCookie), %% Set once per runtime, or in config
gen_rpc:call(RemoteNode, mod, fun, []).

The other alternatives I've considered:

  1. expose some other external API (TCP, REST, etc.)
  2. set all the nodes to use the same cookie.

Both of those work, but don't seem to scale particularly well, nor meet my threshold for elegance. An external API increases complexity (not to mention work!), and adds more surface area for testing and attack vectors. Using the same cookie is far less work, but now my two distributed applications have merged into one amorphous app.

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions