IntelliJ cannot log in to GitHub - github

For some reason, a new IntelliJ installation is unable to log in to GitHub. (The credentials are correct.)
It happens both when I try to "share project on githu" and "checkout project from version control", select Git and then try to log in to GitHub.
Here's the login prompt:
Server: github.com
Login: <my username>
Password: <my password>
And the error message:
Invalid authentication data. Can't create token:
scopes - [repo, gist] - not IntelliJ Plugin_1 422
Unprocessable Entity - Validation Failed
[OauthAccess; description]already_exists: null
Now, this is on a freshly installed Windows 10 computer, with a freshly installed IntelliJ. So there are no old tokens or anything like that anywhere in the system. This is the first attempt to access GitHub from IntelliJ. Logging in via web works fine.

That kind of error messages can be frustrating, as it takes more than a little knowledge on the subject to understand exactly what is wrong. Usually, however, the problem is either the authentication (invalid username/email/password) or that there's a problem with git (locally).
First of all, check that you have git installed by running "git" from the command prompt. This is a more common mistake than one would think.
Second, try y.bedrov's suggestion. Log in to github.com on the web. Settings -> Developer settings -> Personal access tokens. Create a new token and then, in IntelliJ, select Enter Token at the login prompt.
Tokens are considered a more secure way to authenticate, I believe.

Oh, in case you generated the token from GitHub and are unable to use that in IntelliJ...
Then, go to Settings -> Version Control -> GitHub
In the Login to GitHub popup, click "Use Token" on the top right corner of the popup.
Add your token and enjoy.

When you make first attempt to access GitHub from IntelliJ, you do not have intellij-github authorization in place and also tokens.
So, follow the instructions here to get rid to this issue.
https://www.jetbrains.com/help/idea/github.html#register-account
After this, the project can be easliy shared on github.

In my situation it was because I was behind a proxy and IntelliJ was not able to reach the internet.
To verify whether IntelliJ is able to reach the internet go to Settings>System Settings>HTTP Proxy
Click on check connection and try for example http://google.nl.
I had to set my proxy to Auto-detect so it will use the proxy of Windows.

From my experience, you will have to set the remote of this project, try to find the "Remote..." within the "VCS" tab, then when you set it, IntelliJ will open your default browser and there is a permission check, which is what lead to your error message.
In short, Set remote, Authorize IntelliJ on GitHub Settings.

The issue is that IDE tries to create a token with the name that already exists. Appears to be related with the token name case - see https://youtrack.jetbrains.com/issue/IDEA-198120
As a workaround, navigate to https://github.com/settings/tokens and delete all tokens called IntelliJ Plugin (including those with suffix)

Couple of issues can be there to block you from accessing your github repo and throwing 403 error. Hence please go step by step.
Step-1 : Local git is corrupted or not working
git branch -r [If it gives result you are good]
git ls-remote --heads <remot_git_location>
if one of the above is working then your local git is good. If not use
git config --global --unset credential.helper
Step-2 : From your IDE (IntelliJ or PHPStorm etc) see git is configured and test it.
Go to Default Settings-->GitHub and Your host should be "https://github.com"
Get your Github personal token. Login to your github account from browser. Settings -> Developer settings -> Personal access tokens.
o Select all “repo”, gist and “read.org” in your scope.
o Create the token
Last step: If still not working, Go to VCS--> GIT --> Remotes --> Change the repo to include token explicitly
https://user_name:<your_TOKEN>#github.com/reponame.git
Paste the token in your IDE and test the connection.
If your problem still persists then check if there is network issue.

I have had the same problem to sign up from Android Studio's interface to my GitHub account. At the end what worked is installing Git from VSC tab as this guy said:
https://stackoverflow.com/a/65059893/14715236
But i still not being able to access my account (note: with Login-Password method) so generating token it worked.

I also had the problem with logging to github using Intelij IDE. It shown "invalid authentication data" msg with 404 error. Installing the latest version of the IDE solve that problem.

If you use two factor auth then you need to use an access token.
If you use HTTPs access, after 2-factor authentication is enabled you will need to configure an Access token (BitBucket calls it app password) and use it to authenticate.
https://intellij-support.jetbrains.com/hc/en-us/articles/206537004-How-to-access-GIT-remote-repositories-with-2-factor-authentication
Github has disabled password based auth to api as here https://docs.github.com/en/rest/overview/other-authentication-methods

In my case somehow I was logged out and IDE was showing this error repeatedly instead of login prompt.
So, I just logged in again in setting-> Version Control -> github.
There I saw I was logged out.
After logging in, error was gone and prompt for
Access token was shown when I clicked on git->github on top menu of IDE.
Hope my answer helps you saving some time

Since August 13, 2021. GitHub no longer supports password authentication for git operations. You must generate a token in your GitHub account. Follow
"Settings> Developer Setting > Personal access tokens > tokens (classic)". while generating your token, you must "SET PERMISSION" for your token. Whenever you want to Sign In via Intellij or git terminal, you must enter your username and your token (instead of password) in the password textbox.

Related

Netbeans JGit github password authentication deprecated,. how to reset?

I am using netbeans 8.2 to push to github but now get messages saying
You recently used a password to access the repository at XXX with git using JGit/3.6.2.201501210735-r.
Basic authentication using a password to Git is deprecated and will soon no longer work. Visit > https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more > information around suggested workarounds and removal dates.
Thanks,
The GitHub Team
How can I reset my authentication to enter a github token (https://github.com/settings/tokens) instead of my password?
I've just faced with it.
Just generate token and use inplace of password.
See also https://issues.apache.org/jira/browse/NETBEANS-5252
To reset the password, I followed the instructions at Change Git remote password used by NetBeans, and entered my new github token to the password field. Copied from that answer:
Right click your project and go to Git -> Remote -> Push... Select 'Specify Git Repository Location', update your password, click Next. It may give you error again. Close the popup and try pushing again. You should be able to push now.
For my new token, since I only want to pull and push to the project, I used the default repo options.

Authentication failed - Cannot clone remote repository by Git (Only occurred in Eclipse)

I am on Eclipse 2018.12 (actually same issue occurs from other version like Mars2 or Scala-IDE 4.7), I am struggling to get Git/EGit pass authentication while cloning remote repository, which is deployed on my company's server.
The same issue never occur while I am using Git command like or Git GUI or IntelliJ, but only by Eclipse (regardless of Eclipse version or any type of Git plugin)
I think the difference here is from Git bash or Git GUI or IntelliJ, the authentication is implicitly by verifying my Windows credential from local OS credential store with remote server. So Git bash/GUI and IntelliJ never pop up the login screen.
However, the default setup page from Eclipse asks for username/password every time. And after I enter the correct information, the same pop up message just show up again and again, like a sign that the authentication never pass.
Please see screenshot below.
Is there anyway to let Eclipse to follow the same way of authentication like Git
Same issue here. Seems that eGit doesn't support Windows Authentication where as command line Git does.
Work around is to use a Personal Access Token as the password and anything as the username.
You can create a PAT by logging into your TFS/Azure DevOps Website, click on your profile icon at the top right, select Security. Then create a new Personal Access Token and copy the token into the password box in eclipse. Maximum life of a token is 1 year, so you'll need to make a new one every year.

Eclipse Git (Egit) not accepting remote username and password

Why doesn't Egit accept username and password when fetching from remote?
These are the steps I follow:
In Git Repositories view I expand Project -> Remotes -> origin
Right click on origin -> fetch
Login mask appears; I insert User and Password
Repeat step 3 other two times
An error message appears: https://companyname.visualstudio.com/.../projectname: not authorized
Credentials are correct and I am authorized because I use them daily with any kind of git interface: TortoiseGit, SmartGit, Git Bash, ...
I did research but didn't find this problem. Also similar questions don't address this problem.
Update: I used a workaround following this guide. I created an access token from the Visual Studio Team Services account and I'm using that as password.
My git installation is using Git Credential Manager (GitHub page, Microsoft guide to GCM) to store credentials, in fact when I ran for the first time git through the interfaces I mentioned above and tried to connect to the Team Services Git repository the Microsoft Account login window popped up and that was it. Also I can tell it from runnig the command git config --list and getting credential.helper=manager.
Eclipse has the Team Explorer Everywhere plug-in installed, so it should interact with Git Credential Manager and accept the Microsoft Account credentials, but it doesn't. So this is still an open issue.
I was facing the same issue
From git side
settings-->developer settings-->Personal access tokens-->generate new token-->copy that token and use that token as password.
The way to fix this is to go to
Window->Preferences->Team->Git
And then change the HTTP client from Apache HTTP to Java Built-in HTTP
The Git clients you mention uses "native" git, and the credentials are provided transparently during the communication with the server.
Eclipse git client (jgit+egit) is full-java based, and unfortunately you can't use native git in Eclipse.
Either your Git server has user+password locally (not so enterprise-ish!) or you could use Kerberos tickets in Eclipse git; but before you run Eclipse you should do a kinit to create a ticket with your user logon, that is accessible from java process. (Normally the ticket is in your user home directory)
Example using kinit:
I m not so sure about the TFS plugin, but maybe in your case it is worth to install it and see if it helps you instead of the embedded egit, see https://msdn.microsoft.com/en-us/library/hh301122(v=vs.120).aspx
I had the same issue, not able to update the username in eclipse pop up while pushing to Git. Irrespective of username, I have provided the generated git credentials password and it worked.
Use personal access token for https. Fine graned tokens are preferred.
Refer. https://cse132.engineering.wustl.edu/files/githubEclipseAuth/githubEclipseAuth.html

Error message 'Authentication failed on the git remote'

I'm trying to push, pull, and whatever to my GitHub repository from Visual Studio Code.
I enter my username and password, but I'm getting the error:
Authentication failed on the git remote.
I just logged in on github.com with the same user/password.
I tried creating a personal access token, using it as a password, but I got the same error.
I believe I have found a solution to this problem. None of the solutions above worked for me. I think the root cause of this issue is that GitHub has ended support for password authentication on August 13, 2021. Instead a personal access token needs to be used.
The steps to solve this issue are as follows:
Create a personal access token on GitHub.com. Tutorial here
Go back to Visual Studio Code and open terminal. Type in the following command with your own user information:
git remote set-url origin https://<TOKEN>#github.com/<user_name or organization_name>/<repo_name>.git
In case you would like to follow a video guide, this one proved to be quite helpful.
I solved it by following Caching your GitHub password in Git.
The steps are as follows:
Download and install Git for Windows
Run Git Bash, 'cd' to the repository directory and enter git config --global credential.helper wincred
It happened to me after GitHub changed its policy on 13 August 2021 to authenticate using a personal access token (PAT) instead of a password.
I did these steps for myself. I am on Lubuntu 20.04.
Created .gitconfig in my home directory and added the following
[user]
name = {your github username}
email = {your email}
[credential]
helper = store --file ~/.git-credentials
Created .git-credentials in my home directory as you can see above and added the following
https://{your github username}:{your github PAT}#github.com
Final step: Restart your terminal and voilà! Try to commit/push/pull in an existing Visual Studio Code Git folder and everything will work as before.
Security Issue
Your personal access token (PAT) will be exposed as clear ASCII text and can be read if anyone has access to your user account.
I had the same issue with my Visual Studio Code on Linux cloning a Visual Studio Git repository.
It was Solved by setting up the Alternate Authentication Settings under security settings on {your-account}.visualstudio.com
Screenshot:
Configure VS Code Github authentication using Github CLI, gh.
Download and install gh here
After installation, open vs code terminal and login to github with gh auth login
You'll be prompted to choose an authentication method. Available authentication methods are password and personal access token. I'd recommend using a personal access token because your authentication details will be stored in plain text on your local machine. Here is a tutorial on creating a personal access token. You can then generate a personal access token here. Ensure your personal access token have the minimum required scopes repo, read:org, workflow
Paste your personal access token and gh will handle the rest.
If you've gone through the above steps before but your personal access token has expired, you can simply generate another personal access token and paste inside the /home/<user>/.config/gh/hosts.yml file. Note that this file path is for linux/MAC users. Windows users should be able to locate similar path in their filesystem.
In case of using VSCode git graph's buttons that result in message error like this:
Unauthorized fatal: Authentication failed ... unable to fetch from remote(s)
This worked for me:
git remote set-url origin "<the git you want to clone/pull/fetch>.git"
Enter your email & password in VSCode pop-ups
Now you can use git graph or cmd normally again
git remote set-url origin https://USUARIO:SENHA#bitbucket.org/URL.git
worked for me!
I faced a similar problem. I was coding in vs code. So, I just tried another terminal to push my code and it works for me!!

egit - not authorized

I just connected to GIT from Eclipse Juno using EGit, and successfully cloned a certain remote repository. During the clone I entered my Github username and password, but chose not to save them.
Then I tried to "Fetch from Upstream". I got this error:
https://github.com/biunlp/nlp-lab.git: not authorized
I had no chance of entering my username and password...
This is strange since I connected to this repository in order to clone...
Update 2022: In what follows, always use:
a App password, not your account password (see blog post).
So create your app password.
a BitBucket Cloud, since BitBucket server will be discontinued in Feb. 2024.
A. To specify credentials individually for each remote
Open Git repositories view,
open "Remotes > origin > <your push url>"
click "Change Credentials..."
(From User Guide - Resource Context Menu)
B. To specify credentials per server
If you want to access multiple repositories on the same server without providing the same credentials multiple times, you may use .netrc. With this, eGit will use the configuration you provide.
Create a text file called .netrc (_netrc in Windows) in the user home directory.
Add content to the file in this form:
machine my.server1.com
login yourUserName
password yourPassword
machine my.server2.com
login yourUserName
password yourPassword
The Stash documentation contains more information about .netrc
Security issue The problem with using .netrc this way is that the password is visible in plain text. Refer to this answer in Stackoverflow to solve that problem.
More secure option (2022): EGit (from issue 441198) can be made (with an extension) to recognize a native Git credential helper, using a secure encrypted cache:
install a native Git
install the GCM (Git Credential Manager), which is cross-platform, and already package with Git For Windows for instance.
instruct EGit to look for credentials in the GCM: gitflow-incremental-builder/gitflow-incremental-builder
register your password or token in said GCM
printf "Host=my.server1.com\nprotocol=https\nusername=yourUsername1\npassword=passwd1" | \
git credential-manager-core store
# and:
printf "Host=my.server1.com\nprotocol=https\nusername=yourUsername1\npassword=passwd1" | \
git credential-manager-core store
Look for executable git-credential-manager-core, and add its folder to your %PATH%/$PATH.
You can try:
eclipse/myeclipse > menu
window > preferences > general > security >
content > click "delete" > ok
If you're using Two Factor Authentication on GitHub, the "not authorized" error can be returned even if you are using the correct username and password. This can be resolved by generating a personal access token.
After generating the secure access token, we'll use this instead of a password. Make sure not to leave the page before you're done, because once you leave the page, you'll never see it again (thankfully it can be regenerated, but anything using the previously generated token will cease to authenticate).
This assumes that you've successfully installed EGit and that you've successfully cloned a repository.
Go to your GitHub.com settings, and in the left hand pane click Personal access tokens.
Click Generate new token. Select the scopes that you'd like this token to be able to use, and generate it.
Copy the token. It should look something like this: 9731f5cf519e9abb53e6ba9f5134075438944888 (don't worry, this is invalid).
Back in Eclipse (Juno, since that's OP's version), click Window > Show View > Other.... Under Git, select Git Repositories.
A new pane appears, from which you can open (repository name) > Remotes > origin.
Right click on a node and choose Change Credentials.... Enter your username for User, and your secure access token for the Password.
I had a similar problem when I changed my password on the remote repository.
Here is how I fixed it on Eclipse on Mac:
Important Note: These instructions have the side effect of clearing all passwords and other secure information. I was fine with that, but you will want to consider that before you follow these instructions.
Click Eclipse -> Preferences on menu.
Expect a popup window called Preferences.
Expand the "General" tree item.
Double click the "Security" tree item.
Expect the main pane of the popup to change to "See 'Secure Storage' for..."
Click 'Secure Storage'.
Expect the main pane to change to tabbed window.
Click the "Contents" tab.
Click "Delete".
Accept a warning that all your secure information is deleted.
Click "Cancel" or "Apply" to exit the popup window.
Click the 'Git Pull' icon and expect to be prompted for username and password.
This worked for me:
Go to Git profile-> Settings -> developer settings-> personal access tokens
delete if any existing token and generate a new token [provide note, specify no.of days and repo checked] ->Copy the new token generated
Goto eclipse and now when the same login prompt appears, try providing the personal token generated as password instead of Git password.
Bitbucket Cloud recently stopped supporting account passwords for Git authentication. From march 2022.
So use app password. Please read more information on below links.
Bitbuckect Announcement
Bitbuckect blog
App password