fastlane-old / credentials_manager Goto Github PK
View Code? Open in Web Editor NEWPassword Manager which is used in fastlane tools
Home Page: https://fastlane.tools
Password Manager which is used in fastlane tools
Home Page: https://fastlane.tools
I use cert
and sigh
in fastlane, and it works fine on my computer. But now I want to build the fastlane environment on my server (Mac Mini), it ask the password for the account every time when using cert
and sigh
.
I try to manually execute the cert
and sigh
action under Terminal, and it shows the message: security: SecKeychainAddInternetPassword : The specified item already exists in the keychain.
Could not store password in keychain.
$ sigh
INFO [2015-04-21 15:06:07.62]: Login into iOS Developer Center
No username or password given. You can set environment variables:
DELIVER_USER, DELIVER_PASSWORD
-------------------------------------------------------------------------------------
The login information you enter will be stored in your Mac OS Keychain
More information about that on GitHub: https://github.com/KrauseFx/CredentialsManager
-------------------------------------------------------------------------------------
Password (for [email protected]): ************
security: SecKeychainAddInternetPassword <NULL>: The specified item already exists in the keychain.
Could not store password in keychain
INFO [2015-04-21 15:06:26.49]: Login successful
INFO [2015-04-21 15:06:27.15]: Fetching all available provisioning profiles...
INFO [2015-04-21 15:06:27.90]: Checking if profile is available. (11 profiles found)
INFO [2015-04-21 15:06:31.62]: Downloading profile...
INFO [2015-04-21 15:06:32.41]: Successfully downloaded provisioning profile
....
BTW, the project was pulled from GitHub by Jenkins. The path of the project is /Users/{XXXX}/.jenkins/jobs/iOS develop branch/workspace
.
I've tried log in Apple Developer Program and iTunes Connect in a browser and store the keyword in the Keychain. The cert
and sigh
still ask the password every time.
I can't figure out why this happened.
Hey @KrauseFx, is there any chance Fastlane will support two-step verification in the future? I've had it enabled on my Apple ID for a while now without a problem, but it looks like Apple's developer website is now enforcing two-step and sigh
breaks because it cannot login. I tried created an app-specific password but that didn't help (apparently you can't use them to login on the website).
Two-step verification is a policy requirement at my company. Unfortunately it looks like I won't be able to use some components of Fastlane until this is supported. I imagine it will require quite a bit of work โ I'll see if there is anything I can do to help / contribute.
Actually, #15 is not necessary. In order to get fastlane running properly in Xcode Server scripts, we just need a way to inject a username/password into the default keychain of _xcsbuildd
user, as which we can easily log in.
So we just need something like
fastlane_credentials_manager add -u "[email protected]" -p "SuperS3cret$$$"
Basically a shortcut for
ruby
require 'credentials_manager'
CredentialsManager::PasswordManager.shared_manager('[email protected]')
[ASKS FOR PASSWORD IF NOT FOUND IN THE KEYCHAIN]
exit
Hi Felix,
is there anywhere an example for how to use this credentials_manager?
I don't know ruby, so I have no background for going through the code...
Thanks!
I have added my credentials to the keychain under the deliver.
hostname, and CredentialsManager seems to be able to successfully locate the record (as I am no longer being prompted for the username, and it prompts me with "Password (for my email here):"). I have also used the Security
library with the same method call that CredentialsManager uses, and I've been able to find the record (and it does contain my password).
However, CredentialsManager is still prompting me for my password. How do I get around this?
Thank you
When running on Xcode Server, the System.keychain
is queried for a password when running in a pre/postbuild script. It'd be great to be able to specify the keychain to be used as an environment variable, falling back to default
when not present.
When running on a CI server, I never want to be prompted for a password. Would it be possible to add a configuration option so that when I run fastlane on the server, it will just fail the build if the password doesn't exist or is invalid?
It would be nice if you could habe more then just one Appfile.
There are cases where one project could have more then one target.
In this case you could have more then one appleID and appIdentifier
Appfile is reloaded at every request when querying using try_fetch_value
. Is that by design ?
A PasswordManager instance only uses DELIVER_XXX
ENV vars, bug?
we are using tsmessage library to display no network message with a tap to retry button. within the handler of the retry button we reload the viewController using a call to viewDidAppeare() . The problem is that after a retry when the request fails the message do not display on the screen again, the log shows that the request is made and it has failed also the statement to show the message is called. The message display works when we deselect the current tab and reselect the same tab again inside the handler of the retry button. please help us solve this problem if it is in any way related to this library
thanks
santosh
Original issue by @izuzak
Origin: fastlane-old/deliver#147
Add a flag to skip storing of user credentials
I'm getting quite random build failures because credentials_manager
is causing directory changes to fail sometimes (!!!).
There are specific warnings that are very suspicious, littered throughout the build log:
/Users/fushunpoon/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/credentials_manager-0.8.2/lib/credentials_manager/appfile_config.rb:31: warning: conflicting chdir during another chdir block
/Users/fushunpoon/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/credentials_manager-0.8.2/lib/credentials_manager/appfile_config.rb:31: warning: conflicting chdir during another chdir block
What's causing this?
The comment in PasswordManager
says:
HOST = "deliver" # there might be a string appended, if user has multiple accounts
But since the username
is always appended regardless if its empty:
def hostname
[HOST, self.username].join('.')
end
We end up with a HOST value deliver.
instead of deliver
I'm doing some testing with the 1.1.0 gem release of XcodeInstall, which uses CredentialsManager 0.10.0.
The CredentialsManager docs mention to set the new FASTLANE_*
variables, but in password_manager.rb
there is still the use only of DELIVER_*
. As far as I can tell, I still get a prompt if PasswordManager is initialized with only the FASTLANE_*
vars set.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.