// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2011 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef WT_AUTH_FACEBOOK_AUTH_H_
#define WT_AUTH_FACEBOOK_AUTH_H_

#include <Wt/Auth/OAuthService>

namespace Wt {
  namespace Auth {

class WT_API FacebookService : public OAuthService
{
public:
  FacebookService(const AuthService& baseAuthService);

  virtual std::string name() const;
  virtual WString description() const;
  virtual int popupWidth() const;
  virtual int popupHeight() const;

  virtual std::string authenticationScope() const;
  virtual std::string redirectEndpoint() const;
  virtual std::string authorizationEndpoint() const;
  virtual std::string tokenEndpoint() const;
  virtual std::string clientId() const;
  virtual std::string clientSecret() const;

  virtual Http::Method tokenRequestMethod() const;
  virtual OAuthProcess *createProcess(const std::string& scope) const;
};

  }
}

#endif // WT_AUTH_FACEBOOK_AUTH_H_
