Bitrise에서 2FA 인증 후 여러 계정의 Sandbox 사용자를 다룰 때 조심하십시오.
추가
집필 당시에는 htps : // 기주 b. 코 m / 비 t 리세 s p b / s 테 ps에서 fastlane의 step이 공개되고 있다는 것을 몰랐습니다.
steps-fastlane의 version2.7.0을 사용하고 있었으므로 그쪽의 코드를 보면 어떻게 bitrise상에서 취급하고 있는지 알 수 있습니다.
Bitrise 2FA
Bitrise에서는 AppleID에 2FA(2단계 인증)가 걸려도 App Store Connect 2FA solved on Bitrise와 같이 설정을 함으로써 세션이 유효한 30일 동안 2FA를 건너뛸 수 있습니다.
단지 이하와 같은 Sandbox 유저를 취급하는 케이스로 빠졌습니다.
빠진 것
다음 두 가지 계정이 있다고 가정합니다.
2FA를 설정하지 않은 AppleID:
[email protected]
2FA 설정을 하고 있는 AppleID: [email protected]
Bitrise에 연결된 계정은
[email protected]
입니다.다음과 같이 두 계정의 Sandbox 사용자를 삭제하는 fastlane action을 실행합니다.
# Fastfile
require 'spaceship'
lane :remove_sandbox_users do
_remove_sandbox_users(username: "[email protected]", password: "password", sandbox_user: "[email protected]")
_remove_sandbox_users(username: "[email protected]", password: "password", sandbox_user: "[email protected]")
end
private lane :_remove_sandbox_users do |options|
Spaceship::Tunes.login(options[:username], options[:password])
Spaceship::Tunes::SandboxTester.delete!([options[:sandbox_user]])
end
위의
remove_sandbox_users
를 Bitrise에서 실행하면 [email protected]
는 삭제되지만 2FA를 사용하지 않는 계정의 [email protected]
는 삭제되지 않습니다.원인
Bitrise에서
[email protected]
를 연결하면 아마도 Bitrise 내부에서 FASTLANE_SESSION
설정과 쿠키가 생성됩니다.(ref: htps : // ぢs 쿳 s. 가자. 이오 / t / 와 ぉ ー ぁ c와 r 어서 ぇ 치카 치 온 ー ぉ r ぇ ぇ ー ー いつ ね ー ー st ぃ ght에서 p ぉ y / 1180 /25 )
따라서 2FA가 설정된
[email protected]
의 FASTLANE_SESSION
가 사용되었으므로 항상 [email protected]
로그인 상태가되고 [email protected]
위에 만든 Sandbox 사용자는 삭제되지 않습니다.(
FASTLANE_SESSION
가 설정된 경우 htps : // 기주 b. m / fu st une / fu st une / b u b / c821 오 892157 d499b03dc7693877b978db9 아 64c / s 빠세시 p / ぃb / s 파세시 p / c ぃ t. rb # L431에서 로드됨)몇 가지 거동에 의문을 느꼈기 때문에, 이하와 같은 케이스를 로컬로 실험했습니다.
실험
이하 2개의 파일을 이용해, Bitrise상이 아니고, 로컬상에서 확인을 했습니다.
쿠키는
~/.fastlane/spaceship/**/cookie
를 나타냅니다.# Fastfile
require 'spaceship'
lane: test_login do
Spaceship::Tunes.login("[email protected]", "password")
end
# fastlane/.env
FASTLANE_SESSION="fastlane_session value of [email protected]"
FASTLANE_SESSION=""
, 쿠키가없는 경우2FA
FASTLANE_SESSION=""
, 유효한 쿠키가있는 경우2FA 건너뛰기
FASTLANE_SESSION="fastlane_session value of [email protected]"
, 쿠키가없는 경우2FA 건너뛰기
1이 아닌 경우 2FA를 건너뛰고 로그인이 성공했음을 알 수 있습니다.
표에 정리하면 다음과 같습니다.
케이스
2FA Skip
FASTLANE_SESSION="", 쿠키가 없는 경우
✗
FASTLANE_SESSION=""=, 유효한 쿠키가 있는 경우
◯
FASTLANE_SESSION="fastlane_session value of 아 ぇ_이 d_2후 @ st. 이 m ", 쿠키가 없는 경우
◯
개선안
이번 경우의 개선안으로서, Bitrise
[Workflow]
→ [Env]
로 이동하여 대상 workflow Environment Variables
ENV["FASTLANE_SESSION"] = ""
을 설정합니다.이렇게하면 Bitrise에서
2. FASTLANE_SESSION="", 有効なcookieが存在する場合
와 동일한 상태가됩니다.[email protected]
의 경우:[email protected]
로 일반 로그인[email protected]
의 경우:[email protected]
에서 쿠키를 사용하여 로그인두 계정 모두 성공적으로 로그인하여 Sandbox 사용자를 만들고 삭제할 수 있습니다.
요약
여러 AppleID(2FA 있음 없음)로 Sandbox 사용자를 조작하는 것은 좀처럼 되지 않지만, 이런 일이 발생하면
FASTLANE_SESSION
와 쿠키를 확인해 보는 것이 좋습니다.관련 URL
Reference
이 문제에 관하여(Bitrise에서 2FA 인증 후 여러 계정의 Sandbox 사용자를 다룰 때 조심하십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/funzin/items/fa7a4f47fea9eaf11d7b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)