diff --git a/controllers/auth.go b/controllers/auth.go index bec38437..98590eb6 100644 --- a/controllers/auth.go +++ b/controllers/auth.go @@ -55,7 +55,7 @@ func (c *ApiController) HandleLoggedIn(application *object.Application, user *ob code := object.GetOAuthCode(userId, clientId, responseType, redirectUri, scope, state, nonce) resp = codeToResponse(code) - if application.HasPromptPage() { + if application.EnableSigninSession || application.HasPromptPage() { // The prompt page needs the user to be signed in c.SetSessionUsername(userId) } diff --git a/object/application.go b/object/application.go index 1f0cab9e..9616b211 100644 --- a/object/application.go +++ b/object/application.go @@ -26,17 +26,18 @@ type Application struct { Name string `xorm:"varchar(100) notnull pk" json:"name"` CreatedTime string `xorm:"varchar(100)" json:"createdTime"` - DisplayName string `xorm:"varchar(100)" json:"displayName"` - Logo string `xorm:"varchar(100)" json:"logo"` - HomepageUrl string `xorm:"varchar(100)" json:"homepageUrl"` - Description string `xorm:"varchar(100)" json:"description"` - Organization string `xorm:"varchar(100)" json:"organization"` - EnablePassword bool `json:"enablePassword"` - EnableSignUp bool `json:"enableSignUp"` - EnableCodeSignin bool `json:"enableCodeSignin"` - Providers []*ProviderItem `xorm:"mediumtext" json:"providers"` - SignupItems []*SignupItem `xorm:"varchar(1000)" json:"signupItems"` - OrganizationObj *Organization `xorm:"-" json:"organizationObj"` + DisplayName string `xorm:"varchar(100)" json:"displayName"` + Logo string `xorm:"varchar(100)" json:"logo"` + HomepageUrl string `xorm:"varchar(100)" json:"homepageUrl"` + Description string `xorm:"varchar(100)" json:"description"` + Organization string `xorm:"varchar(100)" json:"organization"` + EnablePassword bool `json:"enablePassword"` + EnableSignUp bool `json:"enableSignUp"` + EnableSigninSession bool `json:"enableSigninSession"` + EnableCodeSignin bool `json:"enableCodeSignin"` + Providers []*ProviderItem `xorm:"mediumtext" json:"providers"` + SignupItems []*SignupItem `xorm:"varchar(1000)" json:"signupItems"` + OrganizationObj *Organization `xorm:"-" json:"organizationObj"` ClientId string `xorm:"varchar(100)" json:"clientId"` ClientSecret string `xorm:"varchar(100)" json:"clientSecret"` diff --git a/web/src/ApplicationEditPage.js b/web/src/ApplicationEditPage.js index 0153ff07..2e321d7f 100644 --- a/web/src/ApplicationEditPage.js +++ b/web/src/ApplicationEditPage.js @@ -291,6 +291,16 @@ class ApplicationEditPage extends React.Component { }} /> + + + {Setting.getLabel(i18next.t("application:Signin session"), i18next.t("application:Enable signin session - Tooltip"))} : + + + { + this.updateApplicationField('enableSigninSession', checked); + }} /> + + {Setting.getLabel(i18next.t("application:Enable code signin"), i18next.t("application:Enable code signin - Tooltip"))} : diff --git a/web/src/ApplicationListPage.js b/web/src/ApplicationListPage.js index d8cb982b..ea8e3c4c 100644 --- a/web/src/ApplicationListPage.js +++ b/web/src/ApplicationListPage.js @@ -35,7 +35,8 @@ class ApplicationListPage extends BaseListPage { logo: "https://cdn.casbin.com/logo/logo_1024x256.png", enablePassword: true, enableSignUp: true, - EnableCodeSignin: false, + enableSigninSession: true, + enableCodeSignin: false, providers: [], signupItems: [ {name: "ID", visible: false, required: true, rule: "Random"}, diff --git a/web/src/locales/de/data.json b/web/src/locales/de/data.json index 68af22b0..ce108546 100644 --- a/web/src/locales/de/data.json +++ b/web/src/locales/de/data.json @@ -10,6 +10,7 @@ "Edit Application": "Edit Application", "Enable code signin": "Enable code signin", "Enable code signin - Tooltip": "Enable code signin - Tooltip", + "Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signup": "Enable signup", "Enable signup - Tooltip": "Whether to allow users to sign up", "File uploaded successfully": "File uploaded successfully", @@ -21,6 +22,7 @@ "Redirect URLs - Tooltip": "List of redirect addresses after successful login", "Refresh token expire": "Refresh token expire", "Refresh token expire - Tooltip": "Refresh token expire - Tooltip", + "Signin session": "Signin session", "Signup items": "Signup items", "Signup items - Tooltip": "Signup items that need to be filled in when users register", "Test prompt page..": "Test prompt page..", diff --git a/web/src/locales/en/data.json b/web/src/locales/en/data.json index 870ea121..a9fdbc23 100644 --- a/web/src/locales/en/data.json +++ b/web/src/locales/en/data.json @@ -10,6 +10,7 @@ "Edit Application": "Edit Application", "Enable code signin": "Enable code signin", "Enable code signin - Tooltip": "Enable code signin - Tooltip", + "Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signup": "Enable signup", "Enable signup - Tooltip": "Enable signup - Tooltip", "File uploaded successfully": "File uploaded successfully", @@ -21,6 +22,7 @@ "Redirect URLs - Tooltip": "Redirect URLs - Tooltip", "Refresh token expire": "Refresh token expire", "Refresh token expire - Tooltip": "Refresh token expire - Tooltip", + "Signin session": "Signin session", "Signup items": "Signup items", "Signup items - Tooltip": "Signup items - Tooltip", "Test prompt page..": "Test prompt page..", diff --git a/web/src/locales/fr/data.json b/web/src/locales/fr/data.json index 68af22b0..ce108546 100644 --- a/web/src/locales/fr/data.json +++ b/web/src/locales/fr/data.json @@ -10,6 +10,7 @@ "Edit Application": "Edit Application", "Enable code signin": "Enable code signin", "Enable code signin - Tooltip": "Enable code signin - Tooltip", + "Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signup": "Enable signup", "Enable signup - Tooltip": "Whether to allow users to sign up", "File uploaded successfully": "File uploaded successfully", @@ -21,6 +22,7 @@ "Redirect URLs - Tooltip": "List of redirect addresses after successful login", "Refresh token expire": "Refresh token expire", "Refresh token expire - Tooltip": "Refresh token expire - Tooltip", + "Signin session": "Signin session", "Signup items": "Signup items", "Signup items - Tooltip": "Signup items that need to be filled in when users register", "Test prompt page..": "Test prompt page..", diff --git a/web/src/locales/ja/data.json b/web/src/locales/ja/data.json index 68af22b0..ce108546 100644 --- a/web/src/locales/ja/data.json +++ b/web/src/locales/ja/data.json @@ -10,6 +10,7 @@ "Edit Application": "Edit Application", "Enable code signin": "Enable code signin", "Enable code signin - Tooltip": "Enable code signin - Tooltip", + "Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signup": "Enable signup", "Enable signup - Tooltip": "Whether to allow users to sign up", "File uploaded successfully": "File uploaded successfully", @@ -21,6 +22,7 @@ "Redirect URLs - Tooltip": "List of redirect addresses after successful login", "Refresh token expire": "Refresh token expire", "Refresh token expire - Tooltip": "Refresh token expire - Tooltip", + "Signin session": "Signin session", "Signup items": "Signup items", "Signup items - Tooltip": "Signup items that need to be filled in when users register", "Test prompt page..": "Test prompt page..", diff --git a/web/src/locales/ko/data.json b/web/src/locales/ko/data.json index 68af22b0..ce108546 100644 --- a/web/src/locales/ko/data.json +++ b/web/src/locales/ko/data.json @@ -10,6 +10,7 @@ "Edit Application": "Edit Application", "Enable code signin": "Enable code signin", "Enable code signin - Tooltip": "Enable code signin - Tooltip", + "Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signup": "Enable signup", "Enable signup - Tooltip": "Whether to allow users to sign up", "File uploaded successfully": "File uploaded successfully", @@ -21,6 +22,7 @@ "Redirect URLs - Tooltip": "List of redirect addresses after successful login", "Refresh token expire": "Refresh token expire", "Refresh token expire - Tooltip": "Refresh token expire - Tooltip", + "Signin session": "Signin session", "Signup items": "Signup items", "Signup items - Tooltip": "Signup items that need to be filled in when users register", "Test prompt page..": "Test prompt page..", diff --git a/web/src/locales/ru/data.json b/web/src/locales/ru/data.json index 68af22b0..ce108546 100644 --- a/web/src/locales/ru/data.json +++ b/web/src/locales/ru/data.json @@ -10,6 +10,7 @@ "Edit Application": "Edit Application", "Enable code signin": "Enable code signin", "Enable code signin - Tooltip": "Enable code signin - Tooltip", + "Enable signin session - Tooltip": "Enable signin session - Tooltip", "Enable signup": "Enable signup", "Enable signup - Tooltip": "Whether to allow users to sign up", "File uploaded successfully": "File uploaded successfully", @@ -21,6 +22,7 @@ "Redirect URLs - Tooltip": "List of redirect addresses after successful login", "Refresh token expire": "Refresh token expire", "Refresh token expire - Tooltip": "Refresh token expire - Tooltip", + "Signin session": "Signin session", "Signup items": "Signup items", "Signup items - Tooltip": "Signup items that need to be filled in when users register", "Test prompt page..": "Test prompt page..", diff --git a/web/src/locales/zh/data.json b/web/src/locales/zh/data.json index 5a473b57..e9b5d42b 100644 --- a/web/src/locales/zh/data.json +++ b/web/src/locales/zh/data.json @@ -10,6 +10,7 @@ "Edit Application": "修改应用", "Enable code signin": "启用验证码登录", "Enable code signin - Tooltip": "是否允许用手机或邮箱验证码登录", + "Enable signin session - Tooltip": "从应用登录Casdoor后,Casdoor是否保持会话", "Enable signup": "启用注册", "Enable signup - Tooltip": "是否允许用户注册", "File uploaded successfully": "文件上传成功", @@ -21,6 +22,7 @@ "Redirect URLs - Tooltip": "登录成功后重定向地址列表", "Refresh token expire": "Refresh Token过期时间", "Refresh token expire - Tooltip": "Refresh Token过期时间", + "Signin session": "保持登录会话", "Signup items": "注册项", "Signup items - Tooltip": "注册用户注册时需要填写的项目", "Test prompt page..": "测试提醒页面..",