Product-apim: devportalμ—λŠ” λ‘œκ·ΈμΈν•  수 μžˆμ§€λ§Œ κ²Œμ‹œμžμ—λŠ” λ‘œκ·ΈμΈν•  수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 02μ›” 06일  Β·  8μ½”λ©˜νŠΈ  Β·  좜처: wso2/product-apim

κ²Œμ‹œμž(https://localhost:9443/publisher)에 λ‘œκ·ΈμΈν•˜λ €κ³  ν•˜λ©΄ -

무효_ν΄λΌμ΄μ–ΈνŠΈ

μ§€μ •λœ μ†ŒλΉ„μž 킀와 μ—°κ²°λœ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ 찾을 수 μ—†μŒ: μ •μ˜λ˜μ§€ μ•ŠμŒ

devportal에 λ‘œκ·ΈμΈν•˜λŠ” 데 λ¬Έμ œκ°€ μ—†μŠ΅λ‹ˆλ‹€.

λˆ„κ΅¬λ“ μ§€ μ΄μœ κ°€ 무엇인지 μ œμ•ˆ ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

감사 ν•΄μš”

TypQuestion

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚˜λ„ λΉ„μŠ·ν•œ λ¬Έμ œμ— λΆ€λ”ͺμ³€λ‹€. μ €μ—κ²Œ 이 λ¬Έμ œλŠ” #7254와 κ²Ήμ³€μŠ΅λ‹ˆλ‹€. 이 문제λ₯Ό νŒŒμ•…ν•˜κ³  μˆ˜μ •ν•˜λŠ” 데 μƒλ‹Ήν•œ μ‹œκ°„μ΄ κ±Έλ ΈμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ κ²ͺ은 였λ₯˜λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

/devportal/ 둜그인 νŽ˜μ΄μ§€μ—μ„œ λ‹€μŒμ„ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

  • 였λ₯˜ λ©”μ‹œμ§€ invalid_client: Cannot find an application associated with the given consumer key: ...
  • 예기치 μ•Šμ€ 였λ₯˜κ°€ λ°œμƒν–ˆμŒμ„ μ•Œλ¦¬λŠ” 빨간색 였λ₯˜ λ©”μ‹œμ§€ μƒμž
  • 둜그인 νŽ˜μ΄μ§€ ν›„ HTTP μƒνƒœ μ½”λ“œ 500κ³Ό ν•¨κ»˜ 빈 흰색 νŽ˜μ΄μ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

api-manager 도컀 μ»¨ν…Œμ΄λ„ˆμ—μ„œ λ‹€μŒμ„ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

  • ERROR - DefaultRequestCoordinator Context does not exist. Probably due to invalidated cache.
  • ERROR - WebAppManager org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (/publisher/services/login/login_callback.jag#53)

κ·Έ μ΄μœ λŠ” Carbon => Service Providers => admin_admin_store => Edit => Inbound Authentication Configuration => OAuth/OpenID Connect Configuration μ—μ„œ client_secret 및/λ˜λŠ” client_id 속성이 λ³€κ²½λ˜μ—ˆκΈ° λ•Œλ¬ΈμΈ 것 κ°™μŠ΅λ‹ˆλ‹€.

해결책은 λ‹€μŒμ„ μˆ˜ν–‰ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

  • 이 SQL SELECT * FROM public.am_system_apps; 을 ν™•μΈν•˜κ³  client_secret 및/λ˜λŠ” client_id κ°€ μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. 그렇지 μ•Šμ€ 경우 이 값을 Carbon admin_admin_store μ„œλΉ„μŠ€ 제곡자 νŽ˜μ΄μ§€μ— ν‘œμ‹œλ˜λŠ” κ°’μœΌλ‘œ μ„€μ •ν•˜μ‹­μ‹œμ˜€.
  • 이 SQL SELECT * FROM public.idn_oauth_consumer_apps; 을 ν™•μΈν•˜κ³  client_secret 및/λ˜λŠ” client_id κ°€ μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. 그렇지 μ•Šμ€ 경우 이 값을 Carbon admin_admin_store μ„œλΉ„μŠ€ 제곡자 νŽ˜μ΄μ§€μ— ν‘œμ‹œλ˜λŠ” κ°’μœΌλ‘œ μ„€μ •ν•˜μ‹­μ‹œμ˜€.
  • Postgresλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ—ˆκ³  VACUUM (FULL) wso2; μ‚¬μš©ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€ μΊμ‹œ(λ˜λŠ” κ·Έ 정도)λ₯Ό 정리해야 ν–ˆμŠ΅λ‹ˆλ‹€.
  • 그런 λ‹€μŒ 개발자 ν¬ν„Έλ‘œ μ΄λ™ν•˜μ—¬ λͺ¨λ“  μΏ ν‚€, 둜컬 μ €μž₯μ†Œ 데이터 등을 μ œκ±°ν•©λ‹ˆλ‹€.
  • μ§€κΈˆ λ‘œκ·ΈμΈμ„ μ‹œλ„ν•˜λ©΄ μž‘λ™ν•©λ‹ˆλ‹€.

κ°„λ‹¨νžˆ λ§ν•΄μ„œ, κ΄€λ¦¬μž νŒ¨λ„μ—μ„œ Regenerate secret λ₯Ό ν΄λ¦­ν–ˆκΈ° λ•Œλ¬Έμ— μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” μž‘μ—…μ˜ 미친 μ–‘μž…λ‹ˆλ‹€... 그리고 더 λ‚˜μœ 것은 ν•΄λ‹Ή λ²„νŠΌμ„ ν΄λ¦­ν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€λŠ” 것을 μ•Œκ³  μžˆμ–΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 그리고 더 λ‚˜μœ 것은 - 이것은 λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€(λ˜λŠ” λ¬Έμ„œμ—μ„œ 이것을 찾지 λͺ»ν–ˆμ„ μˆ˜λ„ 있음).

λͺ¨λ“  8 λŒ“κΈ€

@kharsha64
개인 λΈŒλΌμš°μ €λ‘œ μ‹œλ„ν•˜κ³  확인할 수 μžˆμŠ΅λ‹ˆκΉŒ?

@Krishanx92
μ•ˆλ…•ν•˜μ„Έμš”,
저도 μ‹œλ„ν•΄ λ³΄μ•˜μ§€λ§Œ κ²Œμ‹œμžμ— λŒ€ν•΄ λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

감사 ν•΄μš”

μ•ˆλ…•ν•˜μ„Έμš” @kharsha64 ,
관리 μ½˜μ†”μ„ μ‚¬μš©ν•˜μ—¬ μƒμ„±ν•œ SP μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‚­μ œν–ˆμŠ΅λ‹ˆκΉŒ? 예: admin_apim_publisher κΈ°λ³Έ SP μ•±.

Screenshot 2020-02-10 at 10 04 43

"주어진 μ†ŒλΉ„μž 킀와 μ—°κ²°λœ μ‘μš© ν”„λ‘œκ·Έλž¨μ„ 찾을 수 μ—†μŒ: μ •μ˜λ˜μ§€ μ•ŠμŒ" 였λ₯˜λŠ” μœ„μ˜ λ¬Έμ œμ™€ 이전에 μΊμ‹œλœ μ†ŒλΉ„μž ν‚€λ₯Ό μ‹œλ„ν•˜λŠ” 경우 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ‹œλ„ν•˜κΈ° 전에 λΈŒλΌμš°μ €μ˜ μΊμ‹œλ„ μ •λ¦¬ν•˜μ‹­μ‹œμ˜€.

μ•ˆλ…•ν•˜μ„Έμš”,
μ•„λ‹ˆμš”, SPλ₯Ό μ‚­μ œν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜κ³Ό ν•¨κ»˜ μ œκ³΅λ˜λŠ” κΈ°λ³Έ SPλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
λΈŒλΌμš°μ € μΊμ‹œλ₯Ό μ§€μš°κ³  λ‹€λ₯Έ λΈŒλΌμš°μ €μ—μ„œλ„ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ ν—›λœ. 같은 였λ₯˜μž…λ‹ˆλ‹€.

감사 ν•΄μš”

μ•ˆλ…•ν•˜μ„Έμš” νƒ„μ†Œ μ½˜μ†”μ— λ‘œκ·ΈμΈν•˜κ³  μ„œλΉ„μŠ€ 제곡자둜 μ΄λ™ν•˜μ—¬ " admin_publisher "μ—μ„œ νŽΈμ§‘μ„ ν΄λ¦­ν•˜κ³  μΈλ°”μš΄λ“œ 인증 ꡬ성 -> OAuth/OpenID μ—°κ²° ꡬ성을 ν™•μž₯
Screenshot 2020-02-11 at 10 21 50

그런 λ‹€μŒ λΈŒλΌμš°μ €μ˜ CLIENT_ID 쿠킀와 λΉ„κ΅ν•˜μ—¬ SP OAuth μ•±μ˜ ν΄λΌμ΄μ–ΈνŠΈ IDλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
Screenshot 2020-02-11 at 10 20 21

λ‘˜ λ‹€ κ°™μœΌλ©΄ μœ„μ˜ λ¬Έμ œκ°€ λ°œμƒν•˜μ§€ μ•Šμ•„μ•Ό ν•˜κ³ , λ‹€λ₯΄λ©΄ λΈŒλΌμš°μ €μ—μ„œ μΏ ν‚€λ₯Ό μ œκ±°ν•˜κ³  κ²Œμ‹œμžμ— λ‹€μ‹œ λ‘œκ·ΈμΈν•΄ λ³΄μ‹­μ‹œμ˜€.

μ•ˆλ…•ν•˜μ„Έμš”,
CLIENT_ID μΏ ν‚€κ°€ μ •μ˜λ˜μ§€ μ•Šμ€ μƒνƒœλ‘œ μ˜€λŠ” κ²ƒμœΌλ‘œ λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€.
μΏ ν‚€λ₯Ό μ§€μš°κ³  λ‹€μ‹œ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.
κ·ΈλŸ¬λ‚˜ CLIENT_IDλŠ” μ •μ˜λ˜μ§€ μ•Šμ€ κ²ƒμœΌλ‘œ λŒμ•„μ˜΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @CrowleyRajapakse
κ²Œμ‹œμž μ„œλΉ„μŠ€ κ³΅κΈ‰μžλ₯Ό μ œκ±°ν•œ ν›„ μ„œλΉ„μŠ€ κ³΅κΈ‰μžλ₯Ό κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€.
이제 Carbon의 μ†ŒλΉ„μž ν‚€λŠ” 쿠킀에 μžˆλŠ” 것과 λ‹€λ¦…λ‹ˆλ‹€. κ·Έλž˜μ„œ μΏ ν‚€λ₯Ό μ œκ±°ν•˜κ³  κ²Œμ‹œμž νŽ˜μ΄μ§€λ₯Ό λ‘œλ“œν•˜λ €κ³  ν–ˆμ§€λ§Œ λ‘œλ“œλ©λ‹ˆλ‹€.

Cannot find an application associated with the given consumer key :  ***old consumer key***

쿠킀에 이전 μ†ŒλΉ„μž ν‚€ κ°€ λ‚˜νƒ€λ‚˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ„λ‘ λ„μ™€μ£Όμ„Έμš”.

λ‚˜λ„ λΉ„μŠ·ν•œ λ¬Έμ œμ— λΆ€λ”ͺμ³€λ‹€. μ €μ—κ²Œ 이 λ¬Έμ œλŠ” #7254와 κ²Ήμ³€μŠ΅λ‹ˆλ‹€. 이 문제λ₯Ό νŒŒμ•…ν•˜κ³  μˆ˜μ •ν•˜λŠ” 데 μƒλ‹Ήν•œ μ‹œκ°„μ΄ κ±Έλ ΈμŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ κ²ͺ은 였λ₯˜λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

/devportal/ 둜그인 νŽ˜μ΄μ§€μ—μ„œ λ‹€μŒμ„ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

  • 였λ₯˜ λ©”μ‹œμ§€ invalid_client: Cannot find an application associated with the given consumer key: ...
  • 예기치 μ•Šμ€ 였λ₯˜κ°€ λ°œμƒν–ˆμŒμ„ μ•Œλ¦¬λŠ” 빨간색 였λ₯˜ λ©”μ‹œμ§€ μƒμž
  • 둜그인 νŽ˜μ΄μ§€ ν›„ HTTP μƒνƒœ μ½”λ“œ 500κ³Ό ν•¨κ»˜ 빈 흰색 νŽ˜μ΄μ§€κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

api-manager 도컀 μ»¨ν…Œμ΄λ„ˆμ—μ„œ λ‹€μŒμ„ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

  • ERROR - DefaultRequestCoordinator Context does not exist. Probably due to invalidated cache.
  • ERROR - WebAppManager org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (/publisher/services/login/login_callback.jag#53)

κ·Έ μ΄μœ λŠ” Carbon => Service Providers => admin_admin_store => Edit => Inbound Authentication Configuration => OAuth/OpenID Connect Configuration μ—μ„œ client_secret 및/λ˜λŠ” client_id 속성이 λ³€κ²½λ˜μ—ˆκΈ° λ•Œλ¬ΈμΈ 것 κ°™μŠ΅λ‹ˆλ‹€.

해결책은 λ‹€μŒμ„ μˆ˜ν–‰ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

  • 이 SQL SELECT * FROM public.am_system_apps; 을 ν™•μΈν•˜κ³  client_secret 및/λ˜λŠ” client_id κ°€ μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. 그렇지 μ•Šμ€ 경우 이 값을 Carbon admin_admin_store μ„œλΉ„μŠ€ 제곡자 νŽ˜μ΄μ§€μ— ν‘œμ‹œλ˜λŠ” κ°’μœΌλ‘œ μ„€μ •ν•˜μ‹­μ‹œμ˜€.
  • 이 SQL SELECT * FROM public.idn_oauth_consumer_apps; 을 ν™•μΈν•˜κ³  client_secret 및/λ˜λŠ” client_id κ°€ μ˜¬λ°”λ₯Έμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€. 그렇지 μ•Šμ€ 경우 이 값을 Carbon admin_admin_store μ„œλΉ„μŠ€ 제곡자 νŽ˜μ΄μ§€μ— ν‘œμ‹œλ˜λŠ” κ°’μœΌλ‘œ μ„€μ •ν•˜μ‹­μ‹œμ˜€.
  • Postgresλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ—ˆκ³  VACUUM (FULL) wso2; μ‚¬μš©ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€ μΊμ‹œ(λ˜λŠ” κ·Έ 정도)λ₯Ό 정리해야 ν–ˆμŠ΅λ‹ˆλ‹€.
  • 그런 λ‹€μŒ 개발자 ν¬ν„Έλ‘œ μ΄λ™ν•˜μ—¬ λͺ¨λ“  μΏ ν‚€, 둜컬 μ €μž₯μ†Œ 데이터 등을 μ œκ±°ν•©λ‹ˆλ‹€.
  • μ§€κΈˆ λ‘œκ·ΈμΈμ„ μ‹œλ„ν•˜λ©΄ μž‘λ™ν•©λ‹ˆλ‹€.

κ°„λ‹¨νžˆ λ§ν•΄μ„œ, κ΄€λ¦¬μž νŒ¨λ„μ—μ„œ Regenerate secret λ₯Ό ν΄λ¦­ν–ˆκΈ° λ•Œλ¬Έμ— μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” μž‘μ—…μ˜ 미친 μ–‘μž…λ‹ˆλ‹€... 그리고 더 λ‚˜μœ 것은 ν•΄λ‹Ή λ²„νŠΌμ„ ν΄λ¦­ν•˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€λŠ” 것을 μ•Œκ³  μžˆμ–΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. 그리고 더 λ‚˜μœ 것은 - 이것은 λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ 것 κ°™μŠ΅λ‹ˆλ‹€(λ˜λŠ” λ¬Έμ„œμ—μ„œ 이것을 찾지 λͺ»ν–ˆμ„ μˆ˜λ„ 있음).

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰