You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: packages/google_sign_in/CHANGELOG.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,10 @@
1
+
## 0.2.0
2
+
3
+
* Update `google_sign_in_platform_interface` to 3.1.0.
4
+
* Update the Tizen Device Flow implementation for the `google_sign_in` 7.2.0 API.
5
+
* Add support for client authorization requests such as `authorizationForScopes`, `authorizeScopes`, and `authorizationHeaders` for Device Flow allowed scopes.
6
+
* Update minimum Flutter and Dart versions to 3.29 and 3.7.
Copy file name to clipboardExpand all lines: packages/google_sign_in/README.md
+44-9Lines changed: 44 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,8 @@ This package is not an _endorsed_ implementation of `google_sign_in`. Therefore,
10
10
11
11
```yaml
12
12
dependencies:
13
-
google_sign_in: ^5.4.1
14
-
google_sign_in_tizen: ^0.1.5
13
+
google_sign_in: ^7.2.0
14
+
google_sign_in_tizen: ^0.2.0
15
15
```
16
16
17
17
For detailed usage on how to use `google_sign_in`, see https://pub.dev/packages/google_sign_in#usage.
@@ -28,20 +28,55 @@ You also need to add some additional code to your app to fully integrate `google
28
28
29
29
### Adding OAuth credentials
30
30
31
-
Unlike "Authorization Code Grant with PKCE", "Device Flow" requires a [client secret](https://developers.google.com/identity/protocols/oauth2/limited-input-device#step-4:-poll-googles-authorization-server) parameter during Google Sign-In. You must call `GoogleSignInTizen.setCredentials` function with your client's OAuth credentials before calling `google_sign_in`'s API.
31
+
Unlike "Authorization Code Grant with PKCE", "Device Flow" requires a [client secret](https://developers.google.com/identity/protocols/oauth2/limited-input-device#step-4:-poll-googles-authorization-server) parameter during Google Sign-In. You must call `GoogleSignInTizen.setCredentials` with your client's OAuth credentials before calling `GoogleSignIn.instance.initialize`.
If you pass `clientId` to `GoogleSignIn.instance.initialize`, it must match the `clientId` passed to `GoogleSignInTizen.setCredentials`.
47
+
48
+
### Authorizing additional scopes
49
+
50
+
`GoogleSignInAccount.authorizationClient`can be used to request client authorization tokens on Tizen for scopes allowed by Google OAuth Device Flow. See [Allowed scopes](https://developers.google.com/identity/protocols/oauth2/limited-input-device#allowedscopes) before requesting additional scopes.
51
+
52
+
Device Flow cannot preselect or force the Google account on the secondary device. If a request is tied to an existing `GoogleSignInAccount` and the user completes the flow with a different account, the request fails with `GoogleSignInExceptionCode.userMismatch`.
53
+
54
+
```dart
55
+
final GoogleSignInClientAuthorization authorization = await user
`authorizationClient.authorizeServer(...)`is not supported on Tizen because OAuth 2.0 Device Authorization Grant ([RFC 8628](https://datatracker.ietf.org/doc/html/rfc8628#section-3.5)) does not include a server auth code in its token response — the protocol simply has no such field. Calling it throws `GoogleSignInException` with `GoogleSignInExceptionCode.providerConfigurationError`:
65
+
66
+
```dart
67
+
try {
68
+
final GoogleSignInServerAuthorization? serverAuth = await user
// e.description explains why server auth code is unavailable on Tizen.
74
+
}
40
75
```
41
76
42
77
:warning: Security concerns
43
78
44
-
Storing a client secret in code is considered a bad practice as it exposes [security vulnerabilites](https://datatracker.ietf.org/doc/html/rfc8628#section-5.6), you should perform extra steps to protect your client credentials.
79
+
Storing a client secret in code is considered a bad practice as it exposes [security vulnerabilities](https://datatracker.ietf.org/doc/html/rfc8628#section-5.6), you should perform extra steps to protect your client credentials.
45
80
46
81
1. Do not upload credentials to public repositories.
47
82
@@ -96,4 +131,4 @@ The `http://tizen.org/privilege/internet` privilege is required to perform netwo
0 commit comments