#4305 If the user doesn't have a valid ssh key inform and keep doing
Merged 5 years ago by pingou. Opened 5 years ago by pingou.

file modified
+18 -8
@@ -61,14 +61,21 @@ 

              return flask.redirect(return_url)

  

      try:

-         pagure.lib.query.set_up_user(

-             session=flask.g.session,

-             username=flask.g.fas_user.username,

-             fullname=flask.g.fas_user.fullname,

-             default_email=flask.g.fas_user.email,

-             ssh_key=flask.g.fas_user.get("ssh_key"),

-             keydir=pagure_config.get("GITOLITE_KEYDIR", None),

-         )

+         try:

+             pagure.lib.query.set_up_user(

+                 session=flask.g.session,

+                 username=flask.g.fas_user.username,

+                 fullname=flask.g.fas_user.fullname,

+                 default_email=flask.g.fas_user.email,

+                 ssh_key=flask.g.fas_user.get("ssh_key"),

+                 keydir=pagure_config.get("GITOLITE_KEYDIR", None),

+             )

+         except pagure.exceptions.PagureException as err:

+             message = str(err)

+             if message == "SSH key invalid.":

+                 flask.flash(message, "error")

+             else:

+                 raise

  

          # If groups are managed outside pagure, set up the user at login

          if not pagure_config.get("ENABLE_GROUP_MNGT", False):
@@ -124,4 +131,7 @@ 

          # Ensure the user is logged out if we cannot set them up

          # correctly

          logout()

+     except pagure.exceptions.PagureException as err:

+         flask.flash(str(err), "error")

+ 

      return flask.redirect(return_url)

There are a few situation where set_up_user will raise an exception
if this exception is due to an invalid ssh key provided, we should
just inform the user about it and let them log in, otherwise, let's
raise the error, catch it later and inform the user then.

Fixes https://pagure.io/pagure/issue/4303

Signed-off-by: Pierre-Yves Chibon pingou@pingoured.fr

rebased onto 16d9f70bdf40bd171762dc67a000b7add789b9ac

5 years ago

rebased onto 7e3a6b00fb6bf870a8fb6105524e7f76f565cc22

5 years ago

rebased onto b4f67b0127b037d6a4123fd929cba915bd0b38e0

5 years ago
11:42:10  FAILED test: py3-test_style

rebased onto 5acd44e

5 years ago

Pull-Request has been merged by pingou

5 years ago