Zammad: Google ๋กœ๊ทธ์ธ / ์ธ์ฆ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งค๋ฒˆ 422๋ฅผ๋ฐ›์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 11์›” 14์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: zammad/zammad

์ •๋ณด :

  • ์ค‘๊ณ  Zammad ๋ฒ„์ „ : 2.7.0, 1542128389.fd858449.centos7
  • ์„ค์น˜ ๋ฐฉ๋ฒ• (์†Œ์Šค, ํŒจํ‚ค์ง€, ..) : centos7 zammad ์ €์žฅ์†Œ
  • ์šด์˜ ์ฒด์ œ : centos7.5
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค + ๋ฒ„์ „ : posgresql 9.2.24
  • Elasticsearch ๋ฒ„์ „ : 5.6.13
  • ๋ธŒ๋ผ์šฐ์ € + ๋ฒ„์ „ : Chrome 70.0.3538.77 (๊ณต์‹ ๋นŒ๋“œ) (64 ๋น„ํŠธ)

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘ :

  • ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” Google ์ธ์ฆ ๋กœ๊ทธ์ธ

์‹ค์ œ ํ–‰๋™ :

  • ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.-422 : ์›ํ•˜๋Š” ๋ณ€๊ฒฝ์ด ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. google_oauth2์˜ ๋ฉ”์‹œ์ง€ : invalid_credentials

๋™์ž‘์„ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„ :

  • ์ตœ์‹  Zammad๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์„ค๋ช…์„œ๋ฅผ ๋”ฐ๋ฅด๊ณ  Google ํด๋ผ์šฐ๋“œ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•˜๊ณ  Zammad์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์„ค์ •ํ•˜๊ณ  ๋„๋ฉ”์ธ๊ณผ ๋ชจ๋“  ๊ฒƒ์„ ํ™•์ธํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Google ์ธ์ฆ์— ๋Œ€ํ•ด ๋™์ผํ•œ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ์—†์ด ์—ฌ๋Ÿฌ grafana ์ธ์Šคํ„ด์Šค์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”์ธ ํŽ˜์ด์ง€์—์„œ ๋กœ๊ทธ์ธ์€ ์‹ ๊ทœ ๋˜๋Š” ๊ธฐ์กด ์‚ฌ์šฉ์ž์—๊ฒŒ ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์‚ฌ์šฉ์ž / ํŒจ์Šค๊ฐ€์žˆ๋Š” ๊ธฐ์กด ์‚ฌ์šฉ์ž๋„ Google ๊ณ„์ •์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋‘ ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ์ด๊ฒƒ์ด ๋ฒ„๊ทธ์ด๋ฉฐ ๊ธฐ๋Šฅ ์š”์ฒญ์ด๋‚˜ ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ์ด ์•„๋‹ˆ๋ผ๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค.

production.log

question verified

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Google+ API๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋ฉด ์ด์ œ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์—ฌ๊ธฐ์—๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝœ๋ฐฑ URL์ด ์ •ํ™•ํ•˜๊ณ  ๋™์ผํ•œ ์ด๋ฉ”์ผ ์•„๋ž˜์˜ Google ๊ณ„์ •์ด ์กด์žฌํ•˜๊ณ  ์‹ค์ œ๋กœ zammad๊ฐ€ ํด๋ผ์ด์–ธํŠธ ํ‚ค + ๋น„๋ฐ€์„ ์–ป์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. IAM / Auth์— ๋Œ€ํ•œ Google ๋กœ๊ทธ๋ฅผ ์ฐพ์œผ๋ ค๊ณ ํ–ˆ์ง€๋งŒ ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ auth oauth ์š”์ฒญ์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฒŒ์‹œ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
์ธ์ฆ์ด ํ™œ์„ฑํ™” ๋œ ์ ์ด์—†๋Š” ํ”„๋กœ์ ํŠธ๋กœ ์ด๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ :
์ด๊ฒƒ์€ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ์˜ ์›์ธ์€ log / web-1.log์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

I, [2018-11-16T10:39:42.637447 #23972]  INFO -- omniauth: (google_oauth2) Request phase initiated.
I, [2018-11-16T10:39:42.970970 #23972]  INFO -- omniauth: (google_oauth2) Callback phase initiated.
E, [2018-11-16T10:39:43.325612 #23972] ERROR -- omniauth: (google_oauth2) Authentication failure! invalid_credentials: OAuth2::Error, {"errors"=>[{"domain"=>"usageLimits", "reason"=>"accessNotConfigured", "message"=>"Access Not Configured. Google+ API has not been used in project [PROJECTID_GOOGLE] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=[PROJECTID_GOOGLE] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", "extendedHelp"=>"https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=[PROJECTID_GOOGLE]"}], "code"=>403, "message"=>"Access Not Configured. Google+ API has not been used in project [PROJECTID_GOOGLE] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=[PROJECTID_GOOGLE] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."}:
{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured. Google+ API has not been used in project [PROJECTID_GOOGLE] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=[PROJECTID_GOOGLE] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.",
    "extendedHelp": "https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=[PROJECTID_GOOGLE]"
   }
  ],
  "code": 403,
  "message": "Access Not Configured. Google+ API has not been used in project [PROJECTID_GOOGLE] before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=[PROJECTID_GOOGLE] then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry."
 }
}

์‹ค์ œ๋กœ Google์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•˜๊ธฐ ์ „์— Google+ API๋ฅผ ํ™œ์„ฑํ™”ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
๋ฌธ์„œ์˜์ด ๋ถ€๋ถ„์ด ์ œ๋Œ€๋กœ ์ž‘์„ฑ๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋ฌธ์„œ ์—…๋ฐ์ดํŠธ ์ž‘์—…์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ถˆํŽธ์„ ๋“œ๋ ค ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋งํฌ (API-Project-ID๋กœ ์กฐ์ •ํ•ด์•ผ ํ•จ)๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ Google+ API๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜์„ธ์š”.
https://console.developers.google.com/apis/api/plus.googleapis.com/overview?project=[Your-API-Project-ID]

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ฌธ์„œ ๋ฌธ์ œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/zammad/zammad-admin-documentation/issues/10

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. Google+ API๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋ฉด ์ด์ œ ์˜ˆ์ƒ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰