@@ -13,7 +13,7 @@ module Network.Google.Auth.InstalledApplication where
13import Control.Monad.Catch (MonadCatch)
13import Control.Monad.Catch (MonadCatch)
14import Control.Monad.IO.Class (MonadIO)
14import Control.Monad.IO.Class (MonadIO)
15import qualified Data.Text.Encoding as Text
15import qualified Data.Text.Encoding as Text
16−import Network.Google.Auth.Scope (queryEncodeScopes)
16+import Network.Google.Auth.Scope (Allow (..), queryEncodeScopes)
17import Network.Google.Internal.Auth
17import Network.Google.Internal.Auth
18import Network.Google.Internal.Logger (Logger)
18import Network.Google.Internal.Logger (Logger)
19import Network.Google.Prelude
19import Network.Google.Prelude
@@ -30,8 +30,14 @@ redirectURI = "urn:ietf:wg:oauth:2.0:oob"
30-- with 'exchangeCode'.
30-- with 'exchangeCode'.
32-- /See:/ <https://developers.google.com/accounts/docs/OAuth2InstalledApp#formingtheurl Forming the URL>.
32-- /See:/ <https://developers.google.com/accounts/docs/OAuth2InstalledApp#formingtheurl Forming the URL>.
33+formURL :: Allow s => OAuthClient -> proxy s -> Text
34+formURL c = formURLWith c . getScopes
36+-- | Form a URL using 'OAuthScope' values.
33−formURL :: OAuthClient -> [OAuthScope] -> Text
39+formURLWith :: OAuthClient -> [OAuthScope] -> Text
34−formURL c ss = accountsURL
40+formURLWith c ss = accountsURL
35 <> "?response_type=code"
41 <> "?response_type=code"
36 <> "&client_id=" <> toText (_clientId c)
42 <> "&client_id=" <> toText (_clientId c)
37 <> "&redirect_uri=" <> redirectURI
43 <> "&redirect_uri=" <> redirectURI