vkreq

VKontakte request validation plug


License
MIT

Documentation

VKReq

This plug ensures request is a valid VK request It validates GET parameters and executes either on_success/1 or on_error/2 function of the callback module specified in config. The plug only performs validation but not actual request processing (ex. user sign-in or sign-up). You can implement logic for valid/invalid VK requests in callback module's functions. All VK requests must have following GET params to be succesfully validated:

  • api_id - registered VK application ID, ex. "1234567", should match app_id specified in config
  • viewer_id - ID of VK user opening the app
  • auth_key - hashed signature for the 3 "_"-separated params: "APPID_VIEWERID_APPSECRET"

    Configuration

    config :vkreq, VKReq,
      app_id: "1234567",
      app_key: "0123456789abcdefABCD",
      callback_module: MyApp.VKReqCallback,
      enabled: Mix.env == :prod
    

    Any of the config params can be passed as plug options, example:

    plug VKReq, app_id: "1234567", app_key: "0123456789abcdefABCD", callback_module: MyApp.VKReqCallback, enabled: true
    

Installation

Add vkreq to your list of dependencies in mix.exs:

```elixir
def deps do
  [{:vkreq, "~> 0.1.0"}]
end
```