summaryrefslogtreecommitdiff
path: root/protocols/Slack/src/api/api_oauth.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Slack/src/api/api_oauth.h')
-rw-r--r--protocols/Slack/src/api/api_oauth.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/protocols/Slack/src/api/api_oauth.h b/protocols/Slack/src/api/api_oauth.h
new file mode 100644
index 0000000000..cc1c35ae3e
--- /dev/null
+++ b/protocols/Slack/src/api/api_oauth.h
@@ -0,0 +1,35 @@
+#ifndef _SLACK_API_OAUTH_H_
+#define _SLACK_API_OAUTH_H_
+
+class OAuhtAccessRequest : public HttpRequest
+{
+public:
+ OAuhtAccessRequest(const char *code, const char *state = NULL) :
+ HttpRequest(HttpMethod::HttpPost, SLACK_API_URL "/oauth.access")
+ {
+ Headers
+ << CHAR_VALUE("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
+ Content
+ << CHAR_VALUE("client_id", SLACK_CLIENT_ID)
+ << CHAR_VALUE("client_secret", SLACK_CLIENT_SECRET)
+ << ENCODED_VALUE("code", code)
+ << ENCODED_VALUE("state", state)
+ << ENCODED_VALUE("redirect_uri", SLACK_REDIRECT_URL);
+ }
+};
+
+class AuthRevokeRequest : public HttpRequest
+{
+public:
+ AuthRevokeRequest(const char *token) :
+ HttpRequest(HttpMethod::HttpPost, SLACK_API_URL "/auth.revoke")
+ {
+ timeout = 1; // in seconds?
+ Headers
+ << CHAR_VALUE("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
+ Content
+ << CHAR_VALUE("token", token);
+ }
+};
+
+#endif //_SLACK_API_OAUTH_H_ \ No newline at end of file