Giter Club home page Giter Club logo

mobile-passbolt-ios's Introduction

      ____                  __          ____
     / __ \____  _____ ____/ /_  ____  / / /_
    / /_/ / __ `/ ___/ ___/ __ \/ __ \/ / __/
   / ____/ /_/ (__  |__  ) /_/ / /_/ / / /_
  /_/    \__,_/____/____/_.___/\____/_/\__/

Open source password manager for teams
(c) 2021 Passbolt SA
https://www.passbolt.com

License

Passbolt - Open source password manager for teams

(c) 2021 Passbolt SA

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License (AGPL) as published by the Free Software Foundation version 3.

The name "Passbolt" is a registered trademark of Passbolt SA, and Passbolt SA hereby declines to grant a trademark license to "Passbolt" pursuant to the GNU Affero General Public License version 3 Section 7(e), without a separate agreement with Passbolt SA.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see GNU Affero General Public License v3.

About this repository

This repository contains the code of the iOS mobile application.

Reporting a security Issue

If you've found a security related issue in Passbolt, please don't open an issue in GitHub. Instead contact us at [email protected]. In the spirit of responsible disclosure we ask that the reporter keep the issue confidential until we announce it.

The passbolt team will take the following actions:

  • Try to first reproduce the issue and confirm the vulnerability.
  • Acknowledge to the reporter that we’ve received the issue and are working on a fix.
  • Get a fix/patch prepared and create associated automated tests.
  • Prepare a post describing the vulnerability, and the possible exploits.
  • Release new versions of all affected major versions.
  • Prominently feature the problem in the release announcement.
  • Provide credits in the release announcement to the reporter if they so desire.

Credits

https://www.passbolt.com/credits

mobile-passbolt-ios's People

Contributors

gw86 avatar kaqumiq avatar mbalawajder avatar sdawidow7 avatar sq9rt-mq avatar stripthis avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

mobile-passbolt-ios's Issues

Ressource secret is invalid / Something went wrong

Hi,

  • Passbolt Version: 4.0.0 CE with DOCKER
  • Platform and Target:
    -- Browser: Firefox
    -- iOS app 1.14.2 (iOS 16.5)

I successfuly self-hosted Passbolt with docker.
Using it with Firefox
I installed the iOS app (last version when writing) and paired my account successfuly
Enable FaceID, and Autofill Passwords
I can access the app with my password successfuly, the syncronization work.

When in a login page of a website, using safari for iOS, I choose Passbolt, auth with FaceID, redirect to the modal window of Passbolt seeing all password available but when I click on an saved account, I have a pop red alert message

"Ressource Secret is invalid"

I remember that it has already worked.
Then I tried on the app to click on show password, it is blank and when I click on it I got the red pop up alert :

"Something went wrong"

from app's debug log I can see the failure : ...account profile data update failed

Any help on this ?

Thank you

Kind Regards,

cannot configure application

  • Passbolt Version: 4.5
  • Platform and Target:
    -- Browser: Chrome
    -- Web server: 4.5

What you did

I've tried configure my account on mobile.

What happened

After transfering data i saw password field. After entered password i have error "Network request validation failed"

What you expected to happen

See my passwords :)

Below are logs from Mobile App:

Passbolt:
Device: iPhone
OS: 17.3.1
App: 1.16.1

[2024-02-12 12:40:53] Initializing the app...
[2024-02-12 12:40:53] ...app initialization completed!
[2024-02-12 12:40:53] Verifying data integrity...
[2024-02-12 12:40:53] ...data integrity verification finished
[2024-02-12 12:40:53] Fetching server configuration...
[2024-02-12 12:40:53] ...server configuration fetching skipped!
[2024-02-12 12:40:53] [B4496F96-A9E2-46BF-A122-xxxx] HTTP GET /lookup
[2024-02-12 12:40:53] [B4496F96-A9E2-46BF-A122-xxxx] HTTP 200 /lookup
[2024-02-12 12:41:13] Beginning new account transfer...
[2024-02-12 12:41:21] Processing QR code payload...
[2024-02-12 12:41:21] ...processing succeeded, continuing transfer...
[2024-02-12 12:41:21] [1CD48CCD-30C0-4441-A112-xxxx] HTTP POST /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:22] [1CD48CCD-30C0-4441-A112-xxxx] HTTP 200 /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing succeeded, continuing transfer...
[2024-02-12 12:41:22] [F9D91EC7-FF51-41DA-9ABA-xxxx] HTTP POST /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:22] [F9D91EC7-FF51-41DA-9ABA-xxxx] HTTP 200 /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing succeeded, continuing transfer...
[2024-02-12 12:41:22] [886F5562-F292-45F9-A1CF-xxxx] HTTP POST /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:22] [886F5562-F292-45F9-A1CF-xxxx] HTTP 200 /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:22] Processing QR code payload...
[2024-02-12 12:41:22] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing succeeded, continuing transfer...
[2024-02-12 12:41:23] [8D8826AF-B155-465B-ADAB-xxxx] HTTP POST /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:23] [8D8826AF-B155-465B-ADAB-xxxx] HTTP 200 /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing succeeded, continuing transfer...
[2024-02-12 12:41:23] [4B165FBC-7DE4-46AA-B3CE-xxxx] HTTP POST /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:23] [4B165FBC-7DE4-46AA-B3CE-xxxx] HTTP 200 /passwords/mobile/transfers/1d757b27-9b43-43b8-82e1-xxxx/ecef128c-4f8d-4cb2-a4ce-xxxx.json
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:23] Processing QR code payload...
[2024-02-12 12:41:23] ...processing canceled!
[2024-02-12 12:41:27] [7CD2E417-8CBF-4A29-A87C-xxxx] HTTP GET /passwords/img/avatar/user_medium.png
[2024-02-12 12:41:27] [7CD2E417-8CBF-4A29-A87C-xxxx] HTTP 200 /passwords/img/avatar/user_medium.png
[2024-02-12 12:41:36] Completing account transfer...
[2024-02-12 12:41:36] Verifying data integrity...
[2024-02-12 12:41:36] ...data integrity verification finished
[2024-02-12 12:41:36] Beginning authorization...
[2024-02-12 12:41:37] ...creating new access token...
[2024-02-12 12:41:37] ...fetching server public PGP key...
[2024-02-12 12:41:37] ...fetching server public RSA key...
[2024-02-12 12:41:37] [E205DF36-52AB-4A04-A5D1-xxxx] HTTP GET /passwords/auth/verify.json
[2024-02-12 12:41:37] [79729159-405D-48A3-A4A1-xxxx] HTTP GET /passwords/auth/jwt/rsa.json
[2024-02-12 12:41:37] [E205DF36-52AB-4A04-A5D1-xxxx] HTTP 200 /passwords/auth/verify.json
[2024-02-12 12:41:37] Local timestamp: 1707741697
[2024-02-12 12:41:37] Server timestamp: 1707741697
[2024-02-12 12:41:37] Using time diff for session: 0
[2024-02-12 12:41:37] ...verifying server public PGP key...
[2024-02-12 12:41:37] ...preparing authorization challenge...
[2024-02-12 12:41:37] [79729159-405D-48A3-A4A1-xxxx] HTTP 200 /passwords/auth/jwt/rsa.json
[2024-02-12 12:41:37] [3907F2CB-17D2-4987-9302-xxxx] HTTP POST /passwords/auth/jwt/login.json
[2024-02-12 12:41:37] [3907F2CB-17D2-4987-9302-xxxx] NetworkRequestValidationFailure
DiagnosticsContext:
•NetworkRequestValidationFailure OSFeatures/NetworkRequestExecutor.swift:446
[2024-02-12 12:41:37] ...authorization failed!
[2024-02-12 12:41:37] ...account transfer failed!

Needing to switch to Passbolt iOS App even though I am already logged in

Needing to switch to Passbolt iOS App even though I am already logged in

  • Passbolt Version: Passbolt iOS 1.16.1
  • Platform and Target: IPhone 13 Pro Max
  • Passbolt MFA: FaceID and Duo Enabled
  • iOS version: 15.6.1

What you did/What happened.

There are apps that require me to enter passwords. When auto-filling with MFA (Duo Enabled) it requires me to switch to the passbolt iOS app even though I am already logged in to the passbolt app. With this current setup I first need to exit the app I am trying to login to (Some app clear the credentials after switching away), then find passbolt app, search for the site, copy the password, go back to the app, and paste the password. This is makes the app less convenient for users who use MFA.

Linked below is a video that I took where it shows that I preloaded the passbolt app before I go into discover, but If i didn't preload passbolt, then I have to search for that app making it less convenient.

Since this could be a bug I am submitting it as a bug report.

passbolt-mfa.mp4

What you expected to happen

After I logged-in to the passbolt app with MFA the first time, I should be able to use auto-fill using just faceID.

NetworkResponseDecodingFailure

Hello, I face a another bug on the app today.

Device : Iphone
OS : 16.7.7
App : 1.17.4

I cannot refresh data on my app.
I got the error "Network Response Decoding Failure"

2024-04-01 19:19:47] ...users data refresh failed!
[2024-04-01 19:19:47] ⚠️ NetworkResponseDecodingFailure
DiagnosticsContext:
•Failed to decode bad request response PassboltNetworkOperations/NetworkResponseDecoder.swift:86
•...account profile data update failed! PassboltApp/MainTabsController.swift:101
[2024-04-01 19:19:47] ⚠️ NetworkResponseDecodingFailure
DiagnosticsContext:
•Failed to decode bad request response PassboltNetworkOperations/NetworkResponseDecoder.swift:86
[2024-04-01 19:19:47] ⚠️ NetworkResponseDecodingFailure
DiagnosticsContext:
•Failed to decode bad request response PassboltNetworkOperations/NetworkResponseDecoder.swift:86

This new problem had never occured before.
I did create a new entry right before this new problem.

Any solution for this ?

Doesn't work with DUO

ISSUE NAME

  • Passbolt Version: 4.02
  • Platform and Target:
    -- Web server: Passbolt Pro
    -- iOS 16.4.1

What you did

Running the Passbolt Pro OVA with DUO MFA. There is currently no way for us to log in to passbolt on iOS.
When logging in I get an authentication error.

We've tried turning on and enabling TOTP as a fallback MFA, but we still get authorization errors when trying to login to passbolt.

In Safari, we get a "browser not supported" error that points us to Chrome/Firefox/etc.
Currently, because of the iOS mandate that 3rd party browsers use the Safari rendering engine, Chrome/Firefox apps still present the same error. This is potentially changing in the future (https://9to5mac.com/2023/02/07/new-iphone-browsers/), but for now, we can't log in on iOS in the app or browser.

What happened

iOS users get a "Session authorization failed." error because of a DUO version incompatibility. However, fallback MFA methods don't seem to help either.

What you expected to happen

iOS users should be able to log in to Passbolt.

As a mobile user I should be able to configure my account without camera

Scanning QR code

  • Passbolt Version: [PASS] Using latest passbolt version (4.3.0).
  • Platform and Target:
    -- etc.: iOS 16

Phone doesn't have working camera, this makes it impossible to add mobile phone, also there should be possible to add new user only using the phone app. Is this something that can be worked on?

Failed to decode bad request response

ISSUE

  • Passbolt Version: 3.5.0 / 3.5.0
  • Platform and Target: Passbolt/566 CFNetwork/1329 Darwin/21.3.0
    iPhone13,3
    OS 15.3.1
    App 1.4.0

What you did

No list update after beta. Install latest server (git master) und ios app.
Unregister und Reregister in App
Server debug on

What happened

No entrys, Network error
Server logs/ ist empty

Logs

[2022-03-05 15:47:40] Beginning authorization...
[2022-03-05 15:47:40] ...using biometrics...
[2022-03-05 15:47:40] ...account passphrase found...
[2022-03-05 15:47:40] ...account private key found...
[2022-03-05 15:47:40] Refreshing session...
[2022-03-05 15:47:40] ... session refresh not required, reusing current session!
[2022-03-05 15:47:40] ...authorization succeeded!
[2022-03-05 15:48:39] Beginning authorization...
[2022-03-05 15:48:39] ...using biometrics...
[2022-03-05 15:48:40] ...account passphrase found...
[2022-03-05 15:48:40] ...account private key found...
[2022-03-05 15:48:40] Refreshing session...
[2022-03-05 15:48:40] ... session refresh not required, reusing current session!
[2022-03-05 15:48:40] ...authorization succeeded!
[2022-03-05 15:48:41] Verifying data integrity...
[2022-03-05 15:48:41] ...data integrity verification finished
[2022-03-05 15:48:41] Fetching server configuration...
[2022-03-05 15:48:42] ...server configuration fetched!
[2022-03-05 15:48:42] Failed to decode bad request response
[2022-03-05 15:48:44] Beginning authorization...
[2022-03-05 15:48:44] ...using biometrics...
[2022-03-05 15:48:44] ...account passphrase found...
[2022-03-05 15:48:44] ...account private key found...
[2022-03-05 15:48:44] Refreshing session...
[2022-03-05 15:48:44] ... session refresh not required, reusing current session!
[2022-03-05 15:48:44] ...authorization succeeded!
[2022-03-05 15:48:48] Failed to decode bad request response

Healthcheck shell


Environment

[PASS] PHP version 7.4.19.
[PASS] PCRE compiled with unicode support.
[PASS] The temporary directory and its content are writable and not executable.
[PASS] The logs directory and its content are writable.
[PASS] GD or Imagick extension is installed.
[PASS] Intl extension is installed.
[PASS] Mbstring extension is installed.

Config files

[PASS] The application config file is present
[PASS] The passbolt config file is present

Core config

[FAIL] Debug mode is on.
[HELP] Set debug = false; in config/passbolt.php
[PASS] Cache is working.
[PASS] Unique value set for security.salt
[PASS] Full base url is set to https://passbolt.foo.com
[PASS] App.fullBaseUrl validation OK.
[PASS] /healthcheck/status is reachable.

SSL Certificate

[PASS] SSL peer certificate validates
[PASS] Hostname is matching in SSL certificate.
[PASS] Not using a self-signed certificate

Database

[PASS] The application is able to connect to the database
[PASS] 26 tables found
[PASS] Some default content is present
[PASS] The database schema up to date.

GPG Configuration

[PASS] PHP GPG Module is installed and loaded.
[PASS] The environment variable GNUPGHOME is set to /homes/foo/.gnupg.
[PASS] The directory /homes/fooooooo/.gnupg containing the keyring is writable by the webserver user.
[PASS] The server OpenPGP key is not the default one
[PASS] The public key file is defined in config/passbolt.php and readable.
[PASS] The private key file is defined in config/passbolt.php and readable.
[PASS] The server key fingerprint matches the one defined in config/passbolt.php.
[PASS] The server public key defined in the config/passbolt.php (or environment variables) is in the keyring.
[PASS] There is a valid email id defined for the server key.
[PASS] The public key can be used to encrypt a message.
[PASS] The private key can be used to sign a message.
[PASS] The public and private keys can be used to encrypt and sign a message.
[PASS] The private key can be used to decrypt a message.
[PASS] The private key can be used to decrypt and verify a message.
[PASS] The public key can be used to verify a signature.
[PASS] The server public key format is Gopengpg compatible.
[PASS] The server private key format is Gopengpg compatible.

Application configuration

[PASS] Using latest passbolt version (3.5.0).
[PASS] Passbolt is configured to force SSL use.
[PASS] App.fullBaseUrl is set to HTTPS.
[PASS] Selenium API endpoints are disabled.
[PASS] Search engine robots are told not to index content.
[PASS] Registration is closed, only administrators can add users.
[PASS] Serving the compiled version of the javascript app
[PASS] All email notifications will be sent.

JWT Authentication

[PASS] The JWT Authentication plugin is enabled
[PASS] The /homes/foo/passbolt.foo.com/passbolt/config/jwt/ directory is not writable.
[PASS] A valid JWT key pair was found

[FAIL] 1 error(s) found. Hang in there!

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.