diff --git a/browser/app/js/browser/Login.js b/browser/app/js/browser/Login.js
index 2bbf1d81c..ada8d656b 100644
--- a/browser/app/js/browser/Login.js
+++ b/browser/app/js/browser/Login.js
@@ -148,7 +148,8 @@ export class Login extends React.Component {
Log in with OpenID
diff --git a/browser/app/js/browser/OpenIDLogin.js b/browser/app/js/browser/OpenIDLogin.js
index 71dd04bad..f036d9429 100644
--- a/browser/app/js/browser/OpenIDLogin.js
+++ b/browser/app/js/browser/OpenIDLogin.js
@@ -66,6 +66,7 @@ export class OpenIDLogin extends React.Component {
const authURL = buildOpenIDAuthURL(
this.state.discoveryDoc.authorization_endpoint,
+ this.state.discoveryDoc.scopes_supported,
redirectURI,
this.state.clientID,
nonce
diff --git a/browser/app/js/browser/OpenIDLoginButton.js b/browser/app/js/browser/OpenIDLoginButton.js
index 97b0f85a7..82cb95459 100644
--- a/browser/app/js/browser/OpenIDLoginButton.js
+++ b/browser/app/js/browser/OpenIDLoginButton.js
@@ -27,7 +27,7 @@ export class OpenIDLoginButton extends React.Component {
handleClick(event) {
event.stopPropagation()
- const { authorizationEndpoint, clientId } = this.props
+ const { authEp, authScopes, clientId } = this.props
let redirectURI = window.location.href.split("#")[0]
if (redirectURI.endsWith('/')) {
@@ -40,7 +40,7 @@ export class OpenIDLoginButton extends React.Component {
const nonce = getRandomString(16)
storage.setItem(OPEN_ID_NONCE_KEY, nonce)
- const authURL = buildOpenIDAuthURL(authorizationEndpoint, redirectURI, clientId, nonce)
+ const authURL = buildOpenIDAuthURL(authEp, authScopes, redirectURI, clientId, nonce)
window.location = authURL
}
diff --git a/browser/app/js/browser/utils.js b/browser/app/js/browser/utils.js
index cbab2ee20..21b8bd298 100644
--- a/browser/app/js/browser/utils.js
+++ b/browser/app/js/browser/utils.js
@@ -16,14 +16,13 @@
export const OPEN_ID_NONCE_KEY = 'openIDKey'
-export const buildOpenIDAuthURL = (authorizationEndpoint, redirectURI, clientID, nonce) => {
+export const buildOpenIDAuthURL = (authEp, authScopes, redirectURI, clientID, nonce) => {
const params = new URLSearchParams()
params.set("response_type", "id_token")
- params.set("scope", "openid")
+ params.set("scope", authScopes.join(" "))
params.set("client_id", clientID)
params.set("redirect_uri", redirectURI)
params.set("nonce", nonce)
- return `${authorizationEndpoint}?${params.toString()}`
+ return `${authEp}?${params.toString()}`
}
-
diff --git a/browser/ui-assets.go b/browser/ui-assets.go
index 0911b7651..d2082f092 100644
--- a/browser/ui-assets.go
+++ b/browser/ui-assets.go
@@ -6,7 +6,7 @@
// production/favicon-96x96.png
// production/firefox.png
// production/index.html
-// production/index_bundle-2019-11-28T10-38-13Z.js
+// production/index_bundle-2020-02-20T14-43-45Z.js
// production/loader.css
// production/logo.svg
// production/safari.png
@@ -75,7 +75,7 @@ func productionChromePng() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "production/chrome.png", size: 3726, mode: os.FileMode(420), modTime: time.Unix(1574937525, 0)}
+ info := bindataFileInfo{name: "production/chrome.png", size: 3726, mode: os.FileMode(420), modTime: time.Unix(1582209858, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -92,7 +92,7 @@ func productionFavicon16x16Png() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "production/favicon-16x16.png", size: 14906, mode: os.FileMode(420), modTime: time.Unix(1574937525, 0)}
+ info := bindataFileInfo{name: "production/favicon-16x16.png", size: 14906, mode: os.FileMode(420), modTime: time.Unix(1582209858, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -109,7 +109,7 @@ func productionFavicon32x32Png() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "production/favicon-32x32.png", size: 16066, mode: os.FileMode(420), modTime: time.Unix(1574937525, 0)}
+ info := bindataFileInfo{name: "production/favicon-32x32.png", size: 16066, mode: os.FileMode(420), modTime: time.Unix(1582209858, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -126,7 +126,7 @@ func productionFavicon96x96Png() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "production/favicon-96x96.png", size: 17029, mode: os.FileMode(420), modTime: time.Unix(1574937525, 0)}
+ info := bindataFileInfo{name: "production/favicon-96x96.png", size: 17029, mode: os.FileMode(420), modTime: time.Unix(1582209858, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -143,7 +143,7 @@ func productionFirefoxPng() (*asset, error) {
return nil, err
}
- info := bindataFileInfo{name: "production/firefox.png", size: 4795, mode: os.FileMode(420), modTime: time.Unix(1574937525, 0)}
+ info := bindataFileInfo{name: "production/firefox.png", size: 4795, mode: os.FileMode(420), modTime: time.Unix(1582209858, 0)}
a := &asset{bytes: bytes, info: info}
return a, nil
}
@@ -203,8 +203,8 @@ var _productionIndexHTML = []byte(`
-
-
+
+