source

git push 시 "OAuth App의 워크플로우 생성 또는 업데이트 허용 거부" 해결 방법

manycodes 2023. 6. 30. 22:28
반응형

git push 시 "OAuth App의 워크플로우 생성 또는 업데이트 허용 거부" 해결 방법

점점 ~하다

에서 워크플로우 OAuth App .github/workflows/cd.yml 없이workflowsubstance"

git push을 부여하는 workflow 범위요?

IntelliJ를 사용하여 GitHub Action 워크플로우가 포함된 분기로 푸시하려고 할 때 문자 그대로 이 문제가 발생했습니다(YAML파일을 .github/vmx)에 저장합니다.저는 인터넷에 있는 기존의 자원들이 별로 도움이 되지 않는다고 생각했는데, 이것이 당신이 그것을 고치는 데에도 도움이 되길 바랍니다.

TL로 ;DR: 자사액토업데트이workflow범위를 GitHub에서 활성화하거나 새 범위를 만들고 해당 범위를 사용하도록 응용 프로그램을 구성합니다.

배경: IntelliJ, Visual Studio Code, Github Desktop 등과 같은 GitHub 통합 기능을 갖춘 타사 도구는 토큰을 사용하여 GitHub 계정에 연결하여 사용자 대신 풀/푸시 등을 수행할 수 있습니다.IntelliJ의 경우, 그들의 지시는 단지 다음을 포함하도록 되어 있습니다.repo,gist 리고그고.read:org범위하지만 당신은 그것이 필요합니다.workflowGitHub Actions를 수정할 수 있는 범위입니다.

해결 방법은 다음과 같습니다.

  1. Github 계정에서 설정으로 이동합니다(오른쪽 상단 모서리의 아바타 드롭다운).
  2. 개발자 설정 > 개인 액세스 토큰으로 이동합니다.
  3. 토큰이 나열된 경우 다음을 포함하도록 업데이트합니다.workflow범위:
    • 토큰 이름을 클릭합니다.
    • 를 선택합니다.workflow범위 및 저장.
    • 사용하는 앱이 토큰에 대한 사용 권한을 자동으로 다시 가져오지 않으면 새 토큰을 만들어야 할 수도 있습니다(아래 4단계).
    • [토큰 업데이트]를 클릭하여 변경 내용을 저장합니다.알았어!
  4. 목록에 토큰이 없으면 새 토큰을 생성합니다.
    • Generate Token을 클릭합니다.
    • 를 포함하여 필요한 합니다.workflow.
    • 정보를 주의 깊게 읽은 다음 확인을 클릭하여 계속합니다.
    • 깃허브가 보여주는 새 토큰을 복사합니다.
    • 응용프로그램에 새 토큰을 적용합니다.예를 들어 Intellij IDE의 경우 Settings > Version Control > GitHub으로 이동하여 기존 통합을 제거한 후 다시 추가하여 새 토큰에 붙여넣습니다.

macOS를 실행하고 . macOS를 실행하고 ..ymlAtom 텍스트 편집기의 워크플로우 파일을 사용할 수 있습니다.

  1. 허브 개인 액세스 토큰 설정으로 이동하여 새 토큰을 생성합니다.repo 및 Workflow 액세스 범위를 모두 선택해야 합니다.

2

  1. 맥에서 키체인 액세스 앱으로 가서 깃허브를 검색하세요.래이지아항을목 (찾표시다니된정습)라는 이름의 을.github.comInternet password이전에 무작위로 보이는 토큰으로 채워진 종류.암호 항목을 생성된 토큰으로 바꿉니다(암호 항목은 다음으로 시작됨).ghp_) 1단계부터 시작합니다.

3

Windows 10의 경우: 설정 -> 자격 증명 관리자 -> Windows 자격 증명 -> github.com 자격 증명 제거 -> git-pull 콘솔에서 gitHub 프로젝트를 끌어오기/해제합니다. -> IDE/Source 컨트롤에서 GitHub 계정 다시 연결."워크플로우"로 개인 액세스 토큰을 만들 필요도 없고, 비밀 GITHUB_TOKEN을 만들 필요도 없습니다. (자동으로 생성되며 매뉴얼을 만들 수 없습니다.)

또한 이 문제는 현재 토큰이 Github의 워크플로우에서 작동하지 않기 때문에 발생합니다.다음 단계를 수행하여 수정합니다.

MacOS에서 Android Studio를 사용하는 사용자의 경우:

  1. 현재 토큰 삭제(환경설정 -> 버전 제어 -> GitHub):enter image description here

확인 버튼을 누르는 것을 기억하세요.

  1. Android Studio에서 푸시/풀을 다시 시도하면 팝업이 나타납니다.enter image description here

  2. Use Token... 버튼을 누르면 다른 팝업이 나타납니다.enter image description here

  3. Generate를 클릭하면 GitHub 웹 사이트로 전송되어 새 토큰을 생성합니다.워크플로 권한을 선택해야 합니다.enter image description here

  4. 3단계에서 generate 버튼을 클릭하여 새 토큰을 가져와 Android Studio에 붙여넣습니다.이제 다 됐어요.

Windows 10에서 문제를 해결할 수 있었던 단계별 방법은 다음과 같습니다.

저는 많은 스크린샷을 포함했습니다. 왜냐하면 이것은 해결하기가 훨씬 어려웠기 때문입니다.

나중에 보면 @CSredRat이 한 말은 맞지만 문제가 있어서 답이 너무 서툴러서 이해할 수 없었습니다.

궁극적으로 저를 해결책으로 이끈 은 상황을 더 명확하게 만드는 이 기사였습니다.

제안을 하나 하지.GitHub Developer Settings(GitHub 개발자 설정) 메뉴를 사용하여 새 토큰을 생성한 다음 Windows 자격 증명 관리자에 붙여넣으면 해당 토큰이 만료되고 토큰을 수동으로 설정하므로 이 문제를 해결할 수 없습니다.

대신 이 토큰 개인 정보 문제는 Git for Windows를 통해 해결해야 합니다.따라서 "구" Git Credential Manager for Windows는 워크플로우를 생성하거나 업데이트할 권한을 요청하지 않았지만 이제는 이러한 권한이 필요합니다.좋은 소식은 Git Credential Manager Core라는 새로운 버전이 있으며 이러한 권한 등을 요청한다는 것입니다.

새 자격 증명 관리자는 Git 2.28 이상과 함께 제공되지만 기본적으로 활성화되지는 않습니다.이 버전 이상의 Git for Window가 이미 설치되어 있으면 소프트웨어도 이미 설치되어 있습니다.저의 경우 버전 2.30.2를 사용했기 때문에 이미 새 소프트웨어를 사용했습니다.

enter image description here

하지만 여전히 필요한 권한이 없는 이전 Git for Windows 자격 증명을 사용하고 있었습니다.이 경우에도 마찬가지이거나 2.28 이전 버전이 없는 경우에는 먼저 최신 버전을 설치해야 합니다.어느 쪽이든 충분히 새로운 버전의 Git for Windows가 컴퓨터에 설치되면 다음 단계는 Windows 검색 상자에 "Windows 자격 증명 관리자"를 입력하여 이전 자격 증명을 제거하는 것입니다.

enter image description here

그런 다음 각 Git 자격 증명을 찾아 해당 자격 증명을 클릭하고 제거 버튼을 클릭합니다.

enter image description here

다음 번에 당신이 당신의 get 계정에 접속하려고 시도할 때git bashVisual Studio 또는 사용하는 git 클라이언트가 사라졌으므로 새 자격 증명을 입력하라는 메시지가 표시됩니다.다음을 클릭합니다.Sign in with your browser아래 대화 상자의 버튼:

enter image description here

그러면 아래와 같은 웹 페이지가 나타나고 워크플로우 드롭다운을 확장하면 이번에 필요한 권한을 요청하는 것을 볼 수 있습니다. 다음 그런다를 클릭합니다.Authorize단추를 채우다

enter image description here

이렇게 하면 github 암호를 제공하는 다음과 같은 페이지가 나타납니다.

enter image description here

이제 윈도우즈 자격 증명 관리자에 필요한 권한이 있는 새 자격 증명이 생성되고 실패하는 데 사용하는 작업이 성공합니다.네!

저의 경우, 저는 macOS Keychain에 오래된 GitHub 자격 증명을 가지고 있었습니다.워크플로우 파일을 수정하고 명령줄에서 변경사항을 푸시하고 있었기 때문에 키체인을 확인할 생각을 전혀 하지 않았습니다.MacOS Keychain의 자격 증명 업데이트에서 사용 방법을 설명했습니다.git credential-osxkeychain: 키체인

$ git credential-osxkeychain erase
host=github.com
protocol=https
> [Press Return]

그런 다음 사용자 이름과 비밀번호를 다시 입력해야 했습니다.이번에는 새 개인 액세스 토큰을 생성하고 암호에 해당 토큰을 사용했습니다.그런 다음 마침내 워크플로우 변경사항을 푸시할 수 있었습니다.

  1. 토큰을 찾으십시오. 여기에 있어야 합니다. https://github.com/settings/tokens
  2. 승인하다workflow아래와 같이

를 사용하여 이 문제를 해결했습니다.Desktop Github App변경 사항을 푸시해 주셔서 감사합니다(제한된 범위 vs 코드에 비해 전체 권한이 있는 것 같습니다.

의 커밋을 한 후, 는 다시 을 할 수.vs code.

이 오류는 github CLI를 사용하여 로컬 환경을 구성할 때 발생합니다.사용 권한을 업데이트하는 데 필요한 항목은 즉시 명확하지 않습니다.그러나 CLI의 경우 다음 명령을 실행하여 활성화한 다음 계속 진행할 수 있습니다.

gh auth login --scopes workflow

nbdev 프로젝트에 대한 초기 커밋을 추진한 후 동일한 문제에 부딪힙니다.이것은 저에게 효과가 있었습니다.

  1. 삭제.yaml 아래에 있는 .github/workflows
  2. git add .,git commit -m "CommitMessage"그리고.git push
  3. 추가.yamlGitHub에 직접 있는 파일(Actions 탭 및 New Workflow 아래)
  4. git pull

그러면 로컬 레포 작업을 계속할 수 있으며 오류 메시지 없이 변경 사항을 Github에 푸시할 수 있습니다.

이것은 Git Kraken에서 저에게 일어난 일입니다.저는 GitKraken에서 GitHub의 연결을 끊었다가 다시 연결하면 작동합니다.

또한 https 사용에서 SSH 사용으로 변경할 수도 있습니다.

  1. SSH 키를 생성합니다. 문서를 따를 수 있습니다.
  2. 원격을 https에서 SSH로 변경합니다. 문서를 따를 수도 있습니다.

.\github\workflows\build.yml로 변경하려고 시도하는 동안 CLion 2020.2.3에서 이 문제가 발생했습니다.CLion은 "워크플로우" 범위를 포함하지 않는 "JetBrain IDE Integration" 토큰(GitHub Settings -> Applications -> Authorized OAuth Apps)을 사용하는 것으로 보입니다.이 토큰의 범위를 변경할 수 있는 방법이 없는 것 같습니다.

올바른 권한(GitHub Settings -> Developer Settings -> Personal Access Token -> Generate new token)으로 새 Personal Access Token을 생성했지만 CLion이 사용하도록 구성할 수 없습니다.

결국 GitHub Desktop을 사용하여 커밋을 진행할 수 있었습니다.

문서따라 Git Credential Manager Core를 설치하여 자동으로 이 작업을 처리했습니다. 이 작업은 제게 적합합니다(macOS).

홈브루 사용:

brew tap microsoft/git
brew install --cask git-credential-manager-core

Git For Windows를 버전 2.29.2.2로 업그레이드해야 했습니다.이를 통해 Git 명령행은 GitHub에 필요한 브라우저를 통해 로그인할 수 있습니다.

Windows 자격 증명 관리자를 재설정하고 개인 액세스 토큰을 다시 생성한 후 이 작업을 수행했지만 문제가 해결되지 않았습니다.하지만 GitHub이 저에게 다음과 같은 이메일을 보내게 되었습니다.

[GitHub] 작업 필요 - Git for Windows에서 암호 인증이 더 이상 지원되지 않습니다.

최근 이전 버전의 Git for Windows를 사용하여 GitHub에 대한 인증을 시도한 것을 발견했습니다.GitHub은 사용자가 Git for Windows를 사용할 때 인증하는 방법을 변경했으며, 이제 GitHub에 인증하려면 웹 브라우저를 사용해야 합니다.웹 브라우저를 통해 로그인하려면 사용자가 Git for Windows의 최신 버전으로 업데이트해야 합니다.

이것은 PHPSorm에서 저에게 일어난 일입니다.IDE를 사용하여 변경 사항을 커밋하고 푸시하려고 했습니다. 그래서 오류가 발생했을 때 IDE 콘솔의 명령줄을 사용하여 푸시하려고 했습니다.

IntelliJIDE 사용자의 경우 다음과 같은 간단한 단계를 수행합니다.

  1. 파일 > 설정 > 버전 컨트롤 > Github으로 이동하여 계정을 클릭한 후 '-' 버튼을 클릭하여 Github 계정을 제거합니다.
  2. 그런 다음 기본 브라우저에서 Github.com 에 로그인한 다음 1단계에서 연 것과 동일한 IDE 창에서 '+' 버튼을 클릭합니다.그런 다음 '토큰으로 로그인'을 선택합니다.
  3. Generate 버튼을 클릭합니다.
  4. 이렇게 하면 모든 권한이 미리 채워진 GitHub 페이지가 브라우저에 열립니다.페이지 하단의 '토큰 생성'을 클릭하기만 하면 됩니다.그런 다음 해당 토큰을 사용하여 IDE 팝업 창에 입력합니다.
  5. 설정 창을 닫고 코드를 다시 누릅니다.이건 항상 저한테 효과가 있어요.

레포로 이동하면 다음이 표시됩니다.

액세스 이 워크플로우를 하는 것을 하지 않음 (" Personal Token").github/workflows/docker_build_push.yml 없이workflow를 지정합니다.

사용 중인 GitHub Personal Access Token(PAT)에 'Workflow' 권한이 없음을 의미합니다.

고치기

  1. 여기로 이동: https://github.com/settings/tokens
  2. 새 개인 액세스 토큰(PAT)을 만들고 '워크플로우' 상자를 확인합니다.
  3. 결과 PAT를 클립보드에 복사
  4. 기존 PAT 삭제 또는 제거(같은 GitHub 링크에서 수행)
  5. 기존 PAT가 해지/삭제되었기 때문에 다음에 개인 저장소에서 푸시/풀할 때 github 사용자 이름(실제 github 사용자 이름 또는 전자 메일이 작동함)과 암호(password 필드에 PAT를 붙여넣음)를 입력하라는 메시지가 표시됩니다.

바로 그거야!눌러야 하고 오류가 사라져야 합니다.

enter image description here

언급URL : https://stackoverflow.com/questions/64059610/how-to-resolve-refusing-to-allow-an-oauth-app-to-create-or-update-workflow-on

반응형