yesod-auth-oauth2 0.7.1.3 → 0.7.2.0
raw patch · 3 files changed
+23/−6 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Yesod.Auth.OAuth2.GitHub: oauth2GitHubScopedWidget :: YesodAuth m => WidgetFor m () -> [Text] -> Text -> Text -> AuthPlugin m
+ Yesod.Auth.OAuth2.GitHub: oauth2GitHubWidget :: YesodAuth m => WidgetFor m () -> Text -> Text -> AuthPlugin m
+ Yesod.Auth.OAuth2.Prelude: omitField :: ToJSON a => a -> Bool
+ Yesod.Auth.OAuth2.Prelude: omittedField :: FromJSON a => Maybe a
- Network.OAuth.OAuth2.Compat: data OAuth2Token
+ Network.OAuth.OAuth2.Compat: data () => OAuth2Token
- Network.OAuth.OAuth2.Compat: newtype AccessToken
+ Network.OAuth.OAuth2.Compat: newtype () => AccessToken
- Network.OAuth.OAuth2.Compat: newtype ExchangeToken
+ Network.OAuth.OAuth2.Compat: newtype () => ExchangeToken
- Network.OAuth.OAuth2.Compat: newtype RefreshToken
+ Network.OAuth.OAuth2.Compat: newtype () => RefreshToken
- Yesod.Auth.OAuth2: data Creds master
+ Yesod.Auth.OAuth2: data () => Creds master
- Yesod.Auth.OAuth2: data Manager
+ Yesod.Auth.OAuth2: data () => Manager
- Yesod.Auth.OAuth2: data OAuth2Token
+ Yesod.Auth.OAuth2: data () => OAuth2Token
- Yesod.Auth.OAuth2.Prelude: (.=) :: (KeyValue kv, ToJSON v) => Key -> v -> kv
+ Yesod.Auth.OAuth2.Prelude: (.=) :: (KeyValue e kv, ToJSON v) => Key -> v -> kv
- Yesod.Auth.OAuth2.Prelude: class FromJSON a
+ Yesod.Auth.OAuth2.Prelude: class () => FromJSON a
- Yesod.Auth.OAuth2.Prelude: class ToJSON a
+ Yesod.Auth.OAuth2.Prelude: class () => ToJSON a
- Yesod.Auth.OAuth2.Prelude: data AuthPlugin master
+ Yesod.Auth.OAuth2.Prelude: data () => AuthPlugin master
- Yesod.Auth.OAuth2.Prelude: data Creds master
+ Yesod.Auth.OAuth2.Prelude: data () => Creds master
- Yesod.Auth.OAuth2.Prelude: data Manager
+ Yesod.Auth.OAuth2.Prelude: data () => Manager
- Yesod.Auth.OAuth2.Prelude: data OAuth2Token
+ Yesod.Auth.OAuth2.Prelude: data () => OAuth2Token
- Yesod.Auth.OAuth2.Prelude: data Text
+ Yesod.Auth.OAuth2.Prelude: data () => Text
- Yesod.Auth.OAuth2.Prelude: newtype AccessToken
+ Yesod.Auth.OAuth2.Prelude: newtype () => AccessToken
- Yesod.Auth.OAuth2.Prelude: newtype Host
+ Yesod.Auth.OAuth2.Prelude: newtype () => Host
- Yesod.Auth.OAuth2.Prelude: newtype RefreshToken
+ Yesod.Auth.OAuth2.Prelude: newtype () => RefreshToken
- Yesod.Auth.OAuth2.Prelude: throwIO :: (MonadThrow m, Exception e) => e -> m a
+ Yesod.Auth.OAuth2.Prelude: throwIO :: (HasCallStack, MonadThrow m, Exception e) => e -> m a
Files
- CHANGELOG.md +6/−1
- src/Yesod/Auth/OAuth2/GitHub.hs +16/−4
- yesod-auth-oauth2.cabal +1/−1
CHANGELOG.md view
@@ -1,4 +1,9 @@-## [_Unreleased_](https://github.com/thoughtbot/yesod-auth-oauth2/compare/v0.7.1.3...main)+## [_Unreleased_](https://github.com/thoughtbot/yesod-auth-oauth2/compare/v0.7.2.0...main)++## [v0.7.2.0](https://github.com/thoughtbot/yesod-auth-oauth2/compare/v0.7.1.3...v0.7.2.0)++- Add `oauth2GitHubWidget` and `oauth2GitHubScopedWidget`+ [@jaanisfehling](https://github.com/freckle/yesod-auth-oauth2/pull/181) ## [v0.7.1.3](https://github.com/thoughtbot/yesod-auth-oauth2/compare/v0.7.1.2...v0.7.1.3)
src/Yesod/Auth/OAuth2/GitHub.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE QuasiQuotes #-} -- | --@@ -8,12 +9,14 @@ -- * Uses github user id as credentials identifier module Yesod.Auth.OAuth2.GitHub ( oauth2GitHub+ , oauth2GitHubWidget , oauth2GitHubScoped+ , oauth2GitHubScopedWidget ) where -import Yesod.Auth.OAuth2.Prelude- import qualified Data.Text as T+import Yesod.Auth.OAuth2.Prelude+import Yesod.Core (WidgetFor, whamlet) newtype User = User Int @@ -29,9 +32,18 @@ oauth2GitHub :: YesodAuth m => Text -> Text -> AuthPlugin m oauth2GitHub = oauth2GitHubScoped defaultScopes +oauth2GitHubWidget+ :: YesodAuth m => WidgetFor m () -> Text -> Text -> AuthPlugin m+oauth2GitHubWidget widget = oauth2GitHubScopedWidget widget defaultScopes+ oauth2GitHubScoped :: YesodAuth m => [Text] -> Text -> Text -> AuthPlugin m-oauth2GitHubScoped scopes clientId clientSecret =- authOAuth2 pluginName oauth2 $ \manager token -> do+oauth2GitHubScoped =+ oauth2GitHubScopedWidget [whamlet|Login via #{pluginName}|]++oauth2GitHubScopedWidget+ :: YesodAuth m => WidgetFor m () -> [Text] -> Text -> Text -> AuthPlugin m+oauth2GitHubScopedWidget widget scopes clientId clientSecret =+ authOAuth2Widget widget pluginName oauth2 $ \manager token -> do (User userId, userResponse) <- authGetProfile pluginName
yesod-auth-oauth2.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: yesod-auth-oauth2-version: 0.7.1.3+version: 0.7.2.0 license: MIT license-file: LICENSE maintainer: engineering@freckle.com