Coder Social home page Coder Social logo

gctools-outilsgc / concierge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aadschippers/pleio_account

11.0 11.0 4.0 28.63 MB

OAuth2 and OpenID microservice used for handling user registration, login and SAML2 SSO

Home Page: https://account-compte.gccollab.ca

License: European Union Public License 1.1

Python 7.35% JavaScript 50.63% HTML 5.61% Shell 0.02% Dockerfile 0.04% Less 36.35%

concierge's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

concierge's Issues

Security Questions Error

When trying to log in with security questions there is an error thrown after successfully answering the questions that crashes the system. Error relates to a missing route 'https'

Password complexity requirements go against latest NIST guidance

Awesome stuff with the MFA being added!
I went to change an old weak password after and hit a new password complexity requirement. This goes against the current security guidance from NIST (CSE harmonizes guidance from their specs).
Here is a human readable version of the changes https://venturebeat.com/2017/04/18/new-password-guidelines-say-everything-we-thought-about-passwords-is-wrong/

No more imposed password complexity (like requiring a combination of letters, numbers, and special characters). This means users now can be less “creative” and avoid passwords like “Password1$”, which only provide a false sense of security.

Moved from gctools-outilsgc/gccollab#306

Updating email in Account doesn't update profile

As a user, when I need to update my email address in Account, it reflects in my Account but not on my profile. This is after logging out and logging back in with updated email.

This user changed her email to: mary.o'[email protected]
Old email was [email protected]

I deleted her duplicate accounts (this may be what caused it). In her account her email is now up to date reflecting the new email:
image

Even after logging in with the new email (@pco) her profile still reflects the old email: https://gccollab.ca/profile/Mary.Oshea

image

Refreshing the page and logging in/out does not update the email address.

Freshdesk ticket: https://gccollab.gctools-outilsgc.ca/helpdesk/tickets/4686

WIKI: On French log in change "Termes et Conditions" to "Conditions d'utilisation"

Details on issue or enhancement

Change the "Termes et Conditions" on the French log in page to "Conditions D'Utilisation"

For the development team

  • Issue user story documented
  • UX input received
  • Design completed
  • Design validated by business team / UX
  • Code review completed by peer
  • Issue closing comment references any duplicate or connected issues or pull requests
  • Issue closed

Identify if user is GoC or Citizen on Login

This is the beginning of a feature that will enable the ability for client applications to provide role based access to their apps depending on several key factors that will be stored in Profile as a Service.

The first key metric that will need to be determined is whether or not the user logging in is connecting from a GoC Network or from the Public Internet.

Things to consider:

  1. How to identify and capture this information
  2. How to store the information in the Profile as a Service (Requires cross service work with Profile team)

UXDD_GCcollab_Request_Membership_v02.pdf

This UX design document has been created as a reference point and guideline to assist with the development of the new Request a Membership feature for GCcollab. This is a pilot version of a possible end to end UX process meant to guide the design of new and existing features, apps and microservices.

The current version is a PDF which hopefully can have comments and notes added to it by team members to enhance and strengthen the process while helping improve task clarity.

Now available:

UXDD_GCcollab_Request_Membership_v02.pdf

WIKI: Change text from English to French in account settings

Details on issue or enhancement

On the French version of the Log in account page, change the GCCollab Account to "Compte GCcollab"

For the development team

  • Issue user story documented
  • UX input received
  • Design completed
  • Design validated by business team / UX
  • Code review completed by peer
  • Issue closing comment references any duplicate or connected issues or pull requests
  • Issue closed

Wireframes for Request Access - DRAFT 01

Shown is a 2 step process that could occur after the system rejects the email address because it is not on the whitelist. Notes and suggestions have been added to the images but by no means are to be considered final.

Integrating Freshdesk into single-sign on

We will need to conduct research behind how to integrate Freshdesk into the single account service and what this will look like on the front/backend.

Things to consider:

  • the ticketing process and solutions (help articles)
  • separating tickets by platform/'app'. Creating a separate repo/page for each service isn't necessarily sustainable as our suite of services continues to grow. Investigate other alternatives to organize incoming tickets and outgoing help articles
  • how this will impact platforms not yet connected to the single sign-on (GCpedia, GCconnex)

@LemieuxGen @cdegrass @KevinChagnon

Clearly identify security reporting email [& procedure]

Neither the README.md (GitHub) nor the Terms Of Service (production) mention or reference a point of contact nor procedure for reporting security vulnerabilities.

Considering the crucial role concierge plays in securing access to other resources, this information should be by readily available. If concierge falls under any available bug bounties this should also be included.

WIKI: French "Se Connecter" leads to English log in page

User Story for the issue in the format of "As a user of type AAA, I need XXX so that I can YYY."

As a user whose first language is French, when I click on "Se Connecter" on the French page, I need for the browser to lead me to the French log in page

Details on issue or enhancement

When "Se Connecter" on the French page is clicked it leads you to the English log in, it would have to be changed to be linked to the French log in page.

For the development team

  • Issue user story documented
  • UX input received
  • Design completed
  • Design validated by business team / UX
  • Code review completed by peer
  • Issue closing comment references any duplicate or connected issues or pull requests
  • Issue closed

User unable to reset password if didn't login to Single sign-on once before

Existing GCcollab users are unable to request a password reset if they have not yet signed in to the single sign-on with their existing credentials.
When requesting a password reset, no email is sent out.
Temporary solution: Helpdesk must login to users existing GCcollab account, manually change password, then login to the single sign-on. An reply is then sent to the user providing the Forgot Password link and the temporary password.
As an existing user, I should be able to request a password reset regardless if i have not used the single sign-on before.

GCcollab login redirects to Account and splash page

User Story for the issue in the format of "As a user of type AAA, I need XXX so that I can YYY."

As a regular an frequent user of GCcollab, I need to be able the login process to be quick and efficient without having to go through the splash page twice and to the Account page before entering the GCcollab site.

Details on issue or enhancement

The current workflow to login to GCcollab is:
1- Accessing the GCcollab splash page and choose my language preference (English)
image

2- I'm now on the login page. Enter my login credential and click "login".
image

3- I'm now in the Accounts page. Select "GCcollab" from the suite navigation icons.
image

4- I'm now back on the Splash page again. Select my preferred language.
image

5- Finally! I'm logged in to GCcollab and I'm now on the Newsfeed page.
image

Proposed Workflow to put in place:
1- Splash Page - select preferred language
2- Login page (Account)
3- Redirected directly to GCcollab's newsfeed page.

For the development team

  • Issue user story documented
  • UX input received
  • Design completed
  • Design validated by business team / UX
  • Code review completed by peer
  • Issue closing comment references any duplicate or connected issues or pull requests
  • Issue closed

Link between Account and GCcollab Profile

As an admin, I need to be able to see which profile is attached to which account. Without phpmyadmin I have no way to confirm which profile is attached to which account.

I have seen duplicate accounts and duplicate profiles. I need a link on the user's page in the Account settings to easily direct me to the associated profile in GCcollab.

Support for Form Post Response Mode (response_mode=form_post)

Currently the service only responds with a GET response which passes the id_token as a query parameter in the URL. Software we're using only seems to support the POST response mode (reportedly for increased security), where the service winds up POSTING the id_token as a parameter back to the Service Provider.

See details here: https://openid.net/specs/oauth-v2-form-post-response-mode-1_0.html

Not a critical issue as we're only prototyping, not relying heavily on this currently, and have gotten around it by double-hopping the request through Azure AD B2C which accepts the GET method from the GCCollab IDp, and returns back to the SP with a POST response mode.

Thanks!

UXDD_GCcollab_Request_Membership_v01.pdf

UX design document has been created as a reference point and guideline to assist with the development of the new Request a Membership feature for GCcollab. This is a pilot version of a possible end to end UX process meant to guide the design of new and existing features, apps and microservices.

The current version is a PDF which hopefully can have comments and notes added to it by team members to enhance and strengthen the process while helping improve task clarity.
UXDD_GCcollab_Request_Membership_v01.pdf

Open id refresh tokens

this maybe needed in the other projects instead of the account project. Need to properly implement open id refresh tokens.

WIKI: Change the logo in the account services to the GCTOOLS logo

Details on issue or enhancement

The logo on the top left of the account services need to be changed to the GCTools logo instead of the GCCollab logo to keep up with consistency.

For the development team

  • Issue user story documented
  • UX input received
  • Design completed
  • Design validated by business team / UX
  • Code review completed by peer
  • Issue closing comment references any duplicate or connected issues or pull requests
  • Issue closed

Git and docker persistent data causing issues

Docker volumes or mount points are required to be empty upon instantiation by the posgres image. Git requires that a file be present in the folder in order for it to be part of the repo structure.

A solution may be to build an initialization script for the first time running the docker image which empties or creates the posgres-data directory and then runs the docker-compose up --build.

R&D into why users create multiple accounts

We want to understand why users create multiple accounts on the system. This issue is for R&D into why users do this. Once we understand why we can develop a strategy to deal with it (separate work item)

Multiple GoC users can't register for GCcollab/account

I have had a growing number of users report that they get 'This email address is not allowed' when using their gc.ca email address to register.

I can't explain it, often they can revisit the register page and successfully register the 2nd or 3rd time.

This one user cannot consistently register using her TBS email. [email protected]
image

Another user who currently can't register: [email protected]

I have confirmed that both users do not have an existing account.

  • [ ]

Following installation steps in README does not result in a usable instance.

Problem

Likely because of PR #82 creating a new instance from scratch will result in an unusable site due to a missing SiteConfiguration record. It must currently be manually created in the database in order to use the instance.

Solutions

  • Document the process of adding a SiteConfiguration record and what each setting means.
  • [or] add a command to populate it.

Better Solution

Revert and remove SiteConfiguration entirely and instead use one of the many existing django modules for live settings. These include caching, proper cache invalidation, setting forms (admin integration), help text (i18), support for contrib.sites, etc..

Language switcher often does not work

The language switcher on the account login page usually does not work in production.

concierge_example

Since I am not sure how your production environment is setup, my guess would be that you have enabled server-side sessions, but are not storing them in a database/cache. The language switcher will only work when you happen to round-robin back to the same process.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.