Package intercom implements the OAuth protocol for authenticating users through Intercom.
Provider is the implementation of `goth.Provider` for accessing Intercom
New creates the new Intercom provider
BeginAuth asks Intercom for an authentication end-point
Debug is a no-op for the intercom package
FetchUser will fetch basic information about Intercom admin
Name is the name used to retrieve this provider later.
RefreshToken refresh token is not provided by Intercom
RefreshTokenAvailable refresh token is not provided by Intercom
SetName is to update the name of the provider (needed in case of multiple providers of 1 type)
UnmarshalSession will unmarshal a JSON string into a session.
Session stores data during the auth process with intercom.
Authorize the session with intercom and return the access token to be stored for future use.
GetAuthURL will return the URL set by calling the `BeginAuth` function on the intercom provider.
Marshal the session into a string