دریافت ip در سرویس های ساخته شده به صورت میکروسرویس


#21

پلاک بالا هم توماج عزیز در عکسی که قرار دادم یعنی عکس زیر

در دایره قرمز داره از کاربر ip رو می گیره و دایره قرمز اون رو به صورت post به public api می فرسته . خوب کاربر بخواد شیطونی کنه بجای اینکه به دایره قرمز درخواست بده تا آیپی گرفته بشه خودش یک آیپی چرت پرت به public api که مربع وسط هست دستی به صورت json می فرستد . این فایده ای برای من ندارد . من می خوام مربع وسط آیپی رو بگیره یا اگر دایره قرمز داره آیپی می فرسته برای خودش یک پراویت api داشته باشه که کاربر در وسط این ارتباط هیچ دستی نتونه ببره


#22

کاربر از کجا به api proxy داخلی شما دسترسی داره؟ مشکل اونجاست


#23

نه ببخشید اشتباه خوندم


#24

مشکل اینجاست که اون api proxy که شما می بنید فعلنه داخلی نیست بلکه کاملا عمومی هست و با لینک مثلا name.com /api/user می شه بهش دسترسی داشته باشیم چون برای موبایل هم آماده کردم .

ولی الان نظرم اینکه برای فقط قسمت سایت خودم بیام یک پرویت پروکسی داخلی درست کنم که دیگه کاربر دسترسی نداره فقط یکمی دوباره کاری داره . یعنی من چند بار دارم وب سرویس می زنم یکی برای داخل یکی برای خارج


#25

من یک اشکال طراحی میبینم, اصلا نمیشه تشخیص داد کار api proxy چیه :thinking:


#26

api proxy که در وسط هست دقیقا همون لینکی هست که موبایل - نرم افزار روی ویندوز - مک و … می تونند بهش درخواست بدند و اطلاعات مورد نیازشون بگیرند

ولی این مورد برای سایت خودم کمی فرق می کنه سایتی که روی سرور خودمه اون به صورت کامل نمی تونه از این public api استفاده کنه بخاطر مبحث آیپی که خدمت شما گفته ام .


#27

مورد ip چه محدودیتی ایجاد میکنه؟


#28

توماج جان در چند پست بالا داشتیم دقیقا در مورد همین آیپی و آخرین پردازش باید به وسیله سیستم خود من باشه و همینطور کاربر وسط api و سایتی که می زنم نتونه دست ببره …


#29

بله اما اگر دلیلش روشن بشه بهتر میشه براش راه حل پیدا کرد, من متوجه مشکل نشدم هنوز


#30

ولاه من سعی کردم دلایل خودمو خدمتتون بگم . فکر می کنم دارم وقت شما رو می گیرم چون بیشتر از این دیگه در توانم نیست توضیح در این رابطه بتونم بدم یعنی سعی کردم چیزی که تو فکرمه رو خدمتتون بگم ولی موفق نبودم .


#31

شما هیچ دلیلی برای موضوع ندادی


#32

در این پست بیان کردم

و همینطور در مورد بالا


#33

خب این چه مشکلی رو حل میکنه؟ فکر کنم اول باید ربط user ip و تشخیص پردازش از سیستمی که فکر کنم همون قرمزه باشد رو پیدا کنی.


#34

اگر تون اون قرمزه پردازش بشه که کاری نداره از پلاگ می گیرم . قرمزه باید چطور به public api بفرسته ؟


#35

اخرین ip یوزرو توی قرمز ذخیره کن, بعد در payload قرار بده.
ارتباط phoenix و api proxy با یک secret token و api key مختص phoenix و payload مخصوص خودش انجام بشه.
یعنی phoenix اختصاصی Oauth کنه


#36

یعنی وظیفی ای که من در میکروسرویس user نوشتم رو در قرمز دوباره بیام انجام بدم .

این ماهیت میکروسرویس رو زیر سوال نمی بره ؟ تمام ولیدیشن و مدیریت اشتباهات قسمت کاربری با میکروسرویس user هست که

قرمز (پابلیک) ----> مربع api (پابلیک) ----> میکروسرویس user (پراویت)

یعنی شما می فرمایید این بخش رو بجای نوشتن از اول یک پراوویت api که روتر خودشو داشته باشه یک حالت تو روترم اضافه کنم فقط برای این سایت قرمز رنگم که با رمزگذاری ارسال کنه به public_api و اگر اون ولید کرد پس اوکی هست . درست فهمیدم ؟


#37

proxy میتونه فقط payload رو جا به جا کنه, و فکر نمیکنم مشکلی پیش بیاد. شما میخوای بدونی که entity کیه, خب به entity باید identity مخفی بدی.
میکرو سرویس مقصد بتونه با توکن فینکس entity و دیتا رو verify کنه.

اینجا entity همون قرمزست


#38

پس می مونه یک راه رمزگذاری برای ip دریافتی از فونیکس پیدا کنم. که دو طرف بتونم استفاده کنم .

تشکر این راه یک تست می زنم ببنیم چطور می تونم انجام بدم جلوی کپی کاری رو می گیره فقط توی روتر proxy api یک اکشن اضافه درست کنم.

باز اگر دوستان و اساتید نظری داشتید که ممنون می شم

و همینطور ممنون توماج عزیز


#39

از پیچیدگی کم میشه و subject یا entity به عنوان idp یا معرف خودش عمل میکنه


#40

https://www.ibm.com/support/knowledgecenter/en/SSFS6T/com.ibm.apic.toolkit.doc/tutorial_apionprem_security_identify_app.html