কেবলমাত্র বিশ্বস্ত মোবাইল অ্যাপ্লিকেশনগুলির জন্য কীভাবে একটি REST এপিআই সুরক্ষিত করা যায়


96

আমি কীভাবে নিশ্চিত করব যে আমার আরএসটি এপিআই কেবল আমার নিজের মোবাইল অ্যাপ্লিকেশনগুলিতে বিশ্বস্ত ক্লায়েন্টদের দ্বারা উত্পন্ন অনুরোধগুলিতে সাড়া ফেলেছে? আমি অন্য উত্স থেকে আসা অযাচিত অনুরোধগুলি আটকাতে চাই। আমি চাই না যে ব্যবহারকারীরা সিরিয়াল কী বা যে কোনও কিছু পূরণ করুন, এটি পর্দার আড়ালে, ইনস্টলেশনের সময় এবং কোনও ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়াই হওয়া উচিত।

আমি যতদূর জানি, এইচটিটিপিএস কেবলমাত্র আপনি যে সার্ভারের সাথে যোগাযোগ করছেন তা বৈধতা দেওয়ার জন্য কে বলেছে এটি says আমি অবশ্যই অবশ্যই ডেটা এনক্রিপ্ট করতে এইচটিটিপিএস ব্যবহার করব।

এটি সম্পাদন করার কোনও উপায় আছে?

আপডেট: ব্যবহারকারী কেবল-পঠনযোগ্য ক্রিয়া সম্পাদন করতে পারে, যার জন্য ব্যবহারকারীকে লগ ইন করার প্রয়োজন হয় না, তবে তারা লেখার ক্রিয়াও সম্পাদন করতে পারে, যার জন্য ব্যবহারকারীকে লগ-ইন করা প্রয়োজন (অ্যাক্সেস টোকেন দ্বারা প্রমাণীকরণ)। উভয় ক্ষেত্রেই আমি চাই যে কেবলমাত্র বিশ্বস্ত মোবাইল অ্যাপ্লিকেশনগুলি থেকে আসা অ্যাপ্লিকেশনগুলিতে এপিআই সাড়া দেয়।

মোবাইল অ্যাপ্লিকেশনটির মাধ্যমে নতুন অ্যাকাউন্ট নিবন্ধকরণের জন্যও এপিআই ব্যবহার করা হবে।

আপডেট 2: মনে হচ্ছে এর একাধিক উত্তর রয়েছে তবে আমি উত্তর দিয়ে কোনটি পতাকাঙ্কিত করব তা সত্যই আমি জানি না। কেউ কেউ বলেন এটি করা যেতে পারে, কেউ বলেন এটি করা যায় না।


এইচটিটিপিএস এসএসএল (এবং টিএলএস) ব্যবহার করে। এসএসএল / টিএলএস ক্লায়েন্ট প্রমাণীকরণের সাথে ব্যবহার করা যেতে পারে।
atk

আপনি কি ক্লায়েন্ট সাইড এসএসএল শংসাপত্র বলতে চান? আমি মনে করি এটিই আমি সন্ধান করছি, মোবাইল অ্যাপ্লিকেশনগুলিতে (অ্যান্ড্রয়েড এবং আইওএস) এমনকি সম্ভব কিনা তা আমার কোনও ধারণা নেই? ক্লায়েন্টের শংসাপত্র কোথায় সংরক্ষণ করা হবে? ডিভাইস স্টোরেজ, মেমরি?
সুপারসেল

এসএসএল কেবল মোবাইল অ্যাপ্লিকেশন নয়, মোবাইল ডিভাইসকেই প্রত্যয়িত করবে।
মরনস

@ সুপরিসেল: আমি একটি উত্তর যুক্ত করব
atk

উত্তর:


48

আপনি পারবেন না।

আপনি কোনও সত্তা, যে কোনও সত্তা , ব্যক্তি, হার্ডওয়্যার ক্লায়েন্ট বা সফ্টওয়্যার ক্লায়েন্ট হতে পারেন তা যাচাই করতে পারবেন না । আপনি কেবল যাচাই করতে পারেন যে তারা আপনাকে যা বলছে তা সঠিক, তবে সততা অনুমান করুন

উদাহরণস্বরূপ, গুগল কীভাবে জানতে পারে যে আমি আমার জিমেইল অ্যাকাউন্টে লগইন করছি ? তারা আমাকে কেবল একটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডের জন্য জিজ্ঞাসা করে, এটি যাচাই করে , তারপরে সততা ধরে নেয় কারণ অন্য কার কাছে সেই তথ্য থাকবে? এক পর্যায়ে গুগল সিদ্ধান্ত নিয়েছে যে, এই যথেষ্ট ছিল না এবং আচরণগত যাচাইকরণ জোড়া হয়েছে (বিজোড় আচরণ খুঁজছেন) কিন্তু এখনও জানানোর হয় ব্যক্তি করতে আচরণ , তারপর যাচাই আচরণ

ক্লায়েন্টকে বৈধতা দেওয়ার ক্ষেত্রে এটি ঠিক একই জিনিস। আপনি কেবল ক্লায়েন্টের আচরণকে বৈধতা দিতে পারেন তবে ক্লায়েন্ট নিজেই নয়।

এসএসএল দিয়ে, আপনি ক্লায়েন্টের একটি বৈধ শংসাপত্র রয়েছে কিনা তা যাচাই করতে পারেন, সুতরাং যে কেউ সহজেই আপনার অ্যাপটি ইনস্টল করতে পারে, সার্টটি পেতে পারে এবং তারপরে সমস্ত নতুন কোড চালাতে পারে।

সুতরাং প্রশ্ন: এটি এত সমালোচনা কেন? যদি এটি প্রকৃত উদ্বেগ হয় তবে আমি আপনার চর্বিযুক্ত ক্লায়েন্টের পছন্দটি নিয়ে প্রশ্ন করব। সম্ভবত আপনার ওয়েব অ্যাপের সাথে যাওয়া উচিত (যাতে আপনাকে আপনার এপিআই প্রকাশ করতে হবে না)।

আরও দেখুন: অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলির জন্য এসএসএল শংসাপত্রের বৈধতা হারাতে

এবং: একটি মোবাইল অ্যাপ্লায়নে ক্লায়েন্ট এসএসএল শংসাপত্রগুলি কতটা নিরাপদ?


1
আমি হার্ডওয়্যারে ক্লায়েন্ট শংসাপত্র ব্যবহার করেছি যেখানে ওএস দ্বারা এনক্রিপ্ট করা ড্রাইভে শংসাপত্রটি সংরক্ষণ করা হয়েছিল। তবে সেখানেও কেউ বিশ্বাস করেনি এটি নির্বোধ। লক্ষ্যটি ছিল নৈমিত্তিক ব্যবহারকারীদের পক্ষে এটি শক্ত করে তোলা।
স্টিভেন বার্নাপ

1
@ মরনস: একটি ওয়েবঅ্যাপ এটিকে সমাধান করতে পারে তবে আমরা মনে করি যে ব্যবহারকারীরা ওয়েব অ্যাপের চেয়ে নেটিভ অ্যাপ্লিকেশন ব্যবহার করার সম্ভাবনা বেশি থাকবে (দয়া করে আমাদের অনুমানটি ভুল হলে আমাকে সংশোধন করুন)। এটি এতটা সমালোচনামূলক হওয়ার কারণ হ'ল API আমাদের ব্যবহারকারীদের আমাদের ডাটাবেসের অংশগুলিতে অ্যাক্সেস দেয়, এতে আমরা কয়েক মাসের কাজের মধ্য দিয়ে প্রচুর ডেটা সংগ্রহ করি। এটি এমন ডেটা যা অন্য সংস্থাগুলি বা ব্যবহারকারীরা সহজেই তাদের নিজস্ব উদ্দেশ্যে ব্যবহার করতে পারে। ক্লায়েন্টদের সুরক্ষিত না করে, আমরা জানি না কে এটি ব্যবহার করছে (আমাদের বিরুদ্ধে)।
সুপারসেল

6
একটি ওয়েবঅ্যাপ সমস্যাটি সমাধান করে না। যে কোনও ওয়েব অ্যাপ্লিকেশন ক্লায়েন্টের পক্ষকে সংশোধন করা এবং আপনি যা চান তা করতে এটি মোটামুটি তুচ্ছ।
স্টিভেন বার্নাপ

5
@ সুপরিসেল আপনি কারও ডেটা প্রদর্শন করতে পারবেন না এবং তারপরে এটিকে ভাগ করা থেকে বিরত রাখবেন। আপনি যদি কারও কাছে ডেটা না রাখতে চান তবে আপনি তাদের এটিকে (এটি দেখান) দেবেন না।
মরনস

আমি একমত কিন্তু ভিন্ন কারণে। আপনি কিন্ডা করতে পারেন যদি আপনার ডিভাইসগুলির উপর নিয়ন্ত্রণ থাকে, আরএসএ'র মতো এন.ইউইকিপিডিয়া.আর / উইকি / সিকিউরিড । মোবাইলগুলি এমন কিছু নয় যা নিয়ন্ত্রণ করা যায় (তারা প্লাগইন কী বা কোনও কিছুর মতো সংযুক্তি গ্রহণ করতে পারে)।
imel96

31

আমি নিশ্চিত যে আপনি ব্যবহারকারীর লগইনগুলি এবং এসএসএল এর সাথে যোগাযোগের ক্ষেত্রে আরামদায়ক, সুতরাং আমি কী এটিকে প্রশ্নের আরও আকর্ষণীয় অংশ বলে মনে করি তা সম্পর্কে ফোকাস করতে চলেছি: কীভাবে আপনার পঠনযোগ্য পদক্ষেপটি নিশ্চিত করা যায় - যা না না প্রয়োজন, ব্যবহারকারী প্রামাণ করা - শুধুমাত্র আপনার নিজের ক্লায়েন্ট অ্যাপ্লিকেশন থেকে গ্রহন করা হয়?

অন্য যে কোনও কিছুর আগে, এফএনকে পূর্বের উত্তরে ইঙ্গিত করেছিল এমন নেতিবাচক দিক - আপনার ক্লায়েন্ট অ্যাপ্লিকেশনগুলি সম্ভাব্য প্রতিকূল ব্যবহারকারীদের হাতে রয়েছে। এগুলি পরীক্ষা করা যায়, তাদের যোগাযোগগুলি পরিদর্শন করা হয়, তাদের কোড বিযুক্ত করা হয়েছে। আমি যে প্রস্তাব দিতে যাচ্ছি তার কিছুই আপনাকে গ্যারান্টি দেওয়ার অনুমতি দেবে না যে কেউ আপনার ক্লায়েন্টকে রিভার্স-ইঞ্জিনিয়ার করবেন না এবং আপনার REST এপিআই ব্যবহার করবেন না। তবে এটি যে কোনও নৈমিত্তিক প্রচেষ্টার সামনে একটি বাধা রাখা উচিত।

যাইহোক, একটি সাধারণ পদ্ধতি হল:

  • ক্লায়েন্ট একটি গোপন আছে
  • একটি অনুরোধ করার সময়, এটি গোপনগুলির সাথে অনুরোধের পরামিতিগুলিকে সম্মতি দেয় এবং ফলাফলটি হ্যাশ করে
  • এই হ্যাশটি অনুরোধের সাথে প্রেরণ করা হয়েছে এবং সার্ভার দ্বারা চেক করা হয়েছে

যেমন, একটি GETঅনুরোধ কল্পনা করুন/products/widgets

ধরা যাক ক্লায়েন্টের গোপনীয়তা হ'ল "OH_HAI_I_IZ_SECRET"

HTTP ক্রিয়া, এবং URL এবং গোপন প্রতিরোধ করুন:

GET/products/widgetsOH_HAI_I_IZ_SECRET

এবং এর একটি SHA-1 হ্যাশ নিন:

4156023ce06aff06777bef3ecaf6d7fdb6ca4e02

তারপরে এটি প্রেরণ করুন, তাই অনুরোধটি এর জন্য হবে:

GET /products/widgets?hash=4156023ce06aff06777bef3ecaf6d7fdb6ca4e02

অবশেষে, কাউকে কমপক্ষে পৃথক অনুরোধগুলি পুনরায় চালনা করা থেকে বিরত রাখতে একটি টাইমস্ট্যাম্পও নিন এবং এটি প্যারামিটার এবং হ্যাশের সাথে যুক্ত করুন। উদাহরণস্বরূপ, এখন ইউনিক্স সময়ে, 1384987891 is এটি যুক্তি যুক্ত করুন:

GET/products/widgetsOH_HAI_I_IZ_SECRET1384987891

হ্যাশ যে:

2774561d4e9eb37994d6d71e4f396b85af6cacd1

এবং পাঠাও:

GET /products/widgets?time=1384987891&hash=2774561d4e9eb37994d6d71e4f396b85af6cacd1

সার্ভার হ্যাশটি পরীক্ষা করবে এবং তাও পরীক্ষা করবে যে টাইমস্ট্যাম্পটি বর্তমান (যেমন 5 মিনিটের মধ্যে ক্লকগুলি পুরোপুরি সিঙ্কে না থাকার জন্য)

সতর্কবাণী! আপনি যেহেতু মোবাইল অ্যাপ্লিকেশন সম্পর্কে কথা বলছেন, তাই একটি নির্দিষ্ট ঝুঁকি রয়েছে যে কারও ফোনে এটির ঘড়িটি ভুল রয়েছে। বা টাইমজোন ভুল। অথবা অন্যকিছু. হ্যাশটিতে সময় যুক্ত করা কিছু আইনী ব্যবহারকারীদের সম্ভবত ভেঙে যাবে, সুতরাং সেই ধারণাটি সতর্কতার সাথে ব্যবহার করুন।


6
এই হ্যাশিং মেকানিজমটি যে কোনও প্রোগ্রামার যখন বুঝতে পারে যে সে এপিকে ডিসেম্বল করে।
পুনিথ রাজ

8
@ পানিথরাজ ঠিক, আমি এটি দ্বিতীয় অনুচ্ছেদে আবৃত করেছি। "আমি যে প্রস্তাব দিতে চাইছি তা আপনাকে গ্যারান্টি দেওয়ার অনুমতি দেবে না যে কেউ আপনার ক্লায়েন্টকে রিভার্স-ইঞ্জিনিয়ার করবেন না এবং আপনার REST এপিআই ব্যবহার করবেন না। তবে এটি কোনও অনিয়মিত প্রচেষ্টার সামনে বাধা সৃষ্টি করা উচিত।"
কারসন 63000

সতর্কতার জন্য, সার্ভার এবং মোবাইলে ইউটিসি ব্যবহার করছি, এটি সমস্যার সমাধান করে, তাই না?
শরীফ

@ কারসন 000৩০০০ - সুতরাং, এখানে কি কোনও কংক্রিট সমাধান রয়েছে? বিশেষত ব্যবহারকারীর রেজিস্ট্রেশন এপিআই-র জন্য, যা সর্বজনীনভাবে উন্মুক্ত করতে হবে (ওয়েবটিতে বা মোবাইল অ্যাপ্লিকেশনটিতে লগ ইন করার আগে একজন ব্যবহারকারীকে নিবন্ধকরণ করতে হবে) এবং হাজার হাজার ভুয়া ব্যবহারকারী তৈরি করতে বটগুলি লক্ষ্যবস্তু হতে পারে।
তোহিদ

17

আগ্রহী যে কারও কাছে, অ্যান্ড্রয়েডে আপনি যাচাই করতে পারেন যে আপনি যে অনুরোধটি পেয়েছেন তা আপনার অ্যাপ থেকে পাঠানো হয়েছিল sent

সংক্ষেপে, আপনি যখন নিজের অ্যাপ্লিকেশনটি গুগলে আপলোড করেন তখন আপনি স্বতঃস্ফূর্তভাবে স্বতন্ত্র কী ব্যবহার করেন যা কেবল আপনার (এবং গুগল) জন্যই পরিচিত।

যাচাইকরণ প্রক্রিয়াটি এইভাবে চলে (ইশ):

  1. আপনার অ্যাপ্লিকেশন গুগলে যায় এবং লেখার টোকেন জিজ্ঞাসা করে
  2. আপনার অ্যাপ্লিকেশনটি টোকনটি আপনার পিছনের প্রান্তে নিরাপদে প্রেরণ করবে
    1. আপনার পিছনের প্রান্তটি গুগলে যায় এবং এটি আপনার অ্যাপ্লিকেশন থেকে পাওয়া টুথ টোকনটি পরীক্ষা করে।
    2. আপনার পিছনের প্রান্তটি তখন আপনার অ্যাপ্লিকেশনটিতে স্বতন্ত্র কীটি স্বাক্ষর করেছে কিনা তা পরীক্ষা করে না, যদি এর অর্থ হয় না যে এটি আপনার অ্যাপ নয় ...

সম্পূর্ণ ব্লগ এটি ব্যাখ্যা করে এবং কীভাবে এটি বাস্তবায়ন করতে পারে তা এখানে পাওয়া যাবে: http://android-developers.blogspot.co.il/2013/01/verifying-back-end-calls-from-android.html


1
উত্তম উত্তর, তবে কোনও দূষিত ব্যবহারকারী এখনও পর্যাপ্ত চেষ্টা করে একটি অ্যাপকে নকল করতে পারে fake তবে কিছুই সত্যই সুরক্ষিত নয়, এটি কখনই বিষয় নয়
মাত্তো

1
আইওএসের জন্য এই বিকল্পটি রয়েছে: ডিভাইসচেক এপিআইগুলিকে লিঙ্ক করা আপনাকে যাচাই করতে দেয় যে আপনি যে টোকেনটি পেয়েছেন তা কোনও খাঁটি অ্যাপল ডিভাইস থেকে এসেছে যাটিতে আপনার অ্যাপ্লিকেশনটি ডাউনলোড করা হয়েছে
Iwaz

এটির জন্য অ্যাকাউন্টগুলি (ইমেলগুলি) প্রয়োজন
ব্যবহারকারীর 25

5

ঠিক আছে, তাই বেশিরভাগ অ্যাপ্লিকেশনগুলির জন্য এটি প্রচুর পরিমাণে ওভারকিল শুরু করার আগে এটি উল্লেখযোগ্য। বেশিরভাগ ব্যবহারের ক্ষেত্রে কেবলমাত্র একটি বৈধ শংসাপত্র এবং / অথবা টোকেন থাকা যথেষ্টের চেয়ে বেশি। যদি এটি আপনার অ্যাপ্লিকেশনটি ডিকম্পল করার মতো শক্ত কিছু করার সাথে জড়িত থাকে তবে আপনি বেশ কয়েকটি মূল্যবান ডেটা না সরবরাহ করলেও বেশিরভাগ হ্যাকাররা বিরক্ত হয় না। তবে ওহে, মজাটা কি তার উত্তরে?

আপনি যা করতে পারেন তা হ'ল কিছুটা ডিজিটাল সিগনেচার এর মতো প্রোগ্রামগুলিতে সাইন ইন করতে অসমমিতিক ক্রিপ্টোগ্রাফি সেট আপ করা । তারপরে প্রতিটি অ্যাপ্লিকেশনটিতে স্বতন্ত্র শংসাপত্র থাকতে পারে যা একক সিএ দ্বারা জারি করা হয় এবং আপনার ব্যবহারকারী সংযোগের সময় যাচাই করা হয়। (হয় প্রথম নিবন্ধকরণ করার সময় বা প্রথম ইনস্টল করার সময়) যখন শংসাপত্রটি প্রমাণীকরণ হয় আপনি তারপরে একটি প্রদত্ত ডিভাইস সনাক্তকারী (যেমন অ্যান্ড্রয়েড আইডি হিসাবে ) বৈধ হিসাবে সেই শংসাপত্রটি নিবন্ধিত করে আপনার অ্যাপ্লিকেশনটিকে আরও সুরক্ষিত করতে পারেন can


5

@ মরনস যেমন তার উত্তরে উল্লেখ করেছেন, সংযোগের অন্য প্রান্তে সত্তাটি যাচাই করা খুব কঠিন।

সত্যতার কিছু স্তর সরবরাহ করার সহজ উপায়টি হ'ল সার্ভারটি এমন কোনও গোপনীয়তা পরীক্ষা করে যা কেবল আসল সত্তাই জানতে পারে। ব্যবহারকারীর জন্য, এটি ব্যবহারকারীর নাম এবং একটি পাসওয়ার্ড হতে পারে। এমন কোনও সফ্টওয়্যার যেখানে কোনও ব্যবহারকারী নেই সেখানে আপনি কোনও গোপনীয়তা এম্বেড করতে পারেন।

এই পদ্ধতির সাথে সমস্যা হ'ল আপনাকে ক্লায়েন্টের উপর কিছুটা বিশ্বাস রাখতে হবে। কেউ যদি আপনার অ্যাপ্লিকেশন প্রকৌশলীকে উল্টে দেয় বা আপনার পাসওয়ার্ড চুরি করে তবে তারা আপনাকে ভান করতে পারে।

এক্সিকিউটেবলের মধ্যে আবদ্ধ করে গোপন তথ্যটি নিষ্কাশন করা আরও শক্ত করার জন্য আপনি পদক্ষেপ নিতে পারেন। প্রোগুয়ার্ডের মতো সরঞ্জাম যা জাভাটির জন্য একটি আবদ্ধকারী এটি সাহায্য করতে পারে, অন্যান্য ভাষাগুলিতে অবসন্নতা সম্পর্কে আমি তেমন কিছুই জানি না তবে সম্ভবত একই জাতীয় সরঞ্জাম রয়েছে। একটি টিএলএস সংযোগ ব্যবহার করা আপনার ট্র্যাফিকের লোকজনকে আটকাতে সহায়তা করে, তবে এমআইটিএম আক্রমণ প্রতিরোধ করে না। পিন করা সেই সমস্যাটি সমাধান করতে সহায়তা করতে পারে।

আমি ক্রিটিকাল ব্লু (সম্পূর্ণ প্রকাশ!) নামে একটি সংস্থার জন্য কাজ করি যার কাছে অ্যাপ্রোভ নামে একটি পণ্য রয়েছে যা বিশ্বাসের এই সমস্যাটি সমাধান করার চেষ্টা করে। এটি বর্তমানে অ্যান্ড্রয়েড / আইওএসের জন্য কাজ করে এবং ক্লায়েন্ট অ্যাপের অখণ্ডতা যাচাই করার জন্য আমাদের সার্ভারগুলির জন্য একটি প্রক্রিয়া সরবরাহ করে। এটি ক্লায়েন্টকে এলোমেলো চ্যালেঞ্জের প্রতিক্রিয়া গণনা করে এটি করে। ক্লায়েন্টকে ইনস্টল করা অ্যাপ্লিকেশন প্যাকেজের বৈশিষ্ট্যগুলি ব্যবহার করে প্রতিক্রিয়া গণনা করতে হবে যা নকল করা শক্ত এবং এতে কিছু পরিশীলিত অ্যান্টি-ট্যাম্পার প্রক্রিয়া অন্তর্ভুক্ত রয়েছে।

এটি এমন একটি টোকেন দেয় যা আপনি তারপরে আপনার API তে সত্যতার প্রমাণ হিসাবে প্রেরণ করতে পারেন।

এই পদ্ধতির সাথে গুরুত্বপূর্ণ পার্থক্যটি হ'ল যদিও ক্লায়েন্টটির সত্যতা যাচাইকরণ অক্ষম করা সম্ভব হবে, আপনি যদি এটি করেন তবে আপনি যদি প্রমাণীকরণ টোকেনটি না পান তবে আপনাকে সার্ভারের সাথে আপনার অ্যাপ্লিকেশনটি যাচাই করতে হবে। গ্রন্থাগারটি এটির মধ্যে কার্যকর কার্যকর বৈশিষ্ট্যগুলির সাথে দৃ .়ভাবে মিলিত হয়েছে, সুতরাং এটি একটি নকল অ্যাপে এম্বেড করা এবং এটি কাজ করা খুব কঠিন হবে difficult

কোনও এপিআই বিকাশকারীকে অবশ্যই তাদের এপিআই হ্যাক করার চেষ্টা করবে এবং এটি কত ব্যয়বহুল হতে পারে তার সিদ্ধান্ত নেওয়ার জন্য কোনও ব্যয় / উপকার বিশ্লেষণ রয়েছে। অ্যাপ্লিকেশনটিতে একটি সাধারণ গোপন চেক তুচ্ছ আক্রমণগুলি প্রতিরোধ করে, তবে আরও দৃ determined়প্রতিজ্ঞ আক্রমণকারী থেকে নিজেকে রক্ষা করার জন্য সম্ভবত আরও জটিল এবং সম্ভাব্য ব্যয়বহুল।


0

এসএসএল যোগাযোগ চ্যানেলটি সুরক্ষিত করবে।

সফল লগইন এনক্রিপ্ট হওয়া সংযোগের উপর একটি প্রমাণীকরণ টোকেন জারি করবে।

প্রমাণীকরণের টোকেনটি পরবর্তী সমস্ত অনুরোধগুলিতে আপনার REST এপিআইতে পাঠানো হবে।


1
আমি কিছু অতিরিক্ত তথ্য যুক্ত করেছি। আমি অ্যাক্সেস টোকেন সহ আপনার উল্লেখ করা মতো প্রমাণীকরণ করার পরিকল্পনা করছিলাম। REST এপিআই-তে কেবল নির্দিষ্ট ক্রিয়াকলাপের জন্য ব্যবহারকারীর লগ ইন করার প্রয়োজন হয় না। উভয় ক্ষেত্রেই, ক্লায়েন্টদের স্বাক্ষর / বিশ্বাস করা প্রয়োজন।
সুপারসেল

নেটিভ মোবাইল ডেভলপমেন্ট সম্পর্কে আমি বেশি কিছু জানি না, তবে আপনার মোবাইল অ্যাপ্লিকেশনটি কি আরএসটি এপিআইতে মোবাইল নম্বর সরবরাহ করতে পারে? আমি যখন আমার অ্যান্ড্রয়েড ফোনে অ্যাপ্লিকেশনগুলি ইনস্টল করি তখন আমাকে প্রায়শই অ্যাপটিকে নির্দিষ্ট অনুমতি দেওয়ার জন্য বলা হয়। সুরক্ষিত সংযোগের মাধ্যমে আপনি যদি প্রতিটি অনুরোধের সাথে একটি মোবাইল নম্বর পাঠাতে পারেন তবে আপনি অজানা মোবাইল নম্বর সহ সমস্ত অনুরোধ প্রত্যাখ্যান করতে পারেন। এখানে কেবল উচ্চস্বরে চিন্তা করা ...
কোডার্ট

এটি কাজ করতে পারে, তবে এটির জন্য ব্যবহারকারীর লগ ইন করা এবং ব্যবহারকারীর অ্যাকাউন্টে নম্বর আবদ্ধ থাকা প্রয়োজন। অন্যথায় সার্ভারের বিপরীতে নম্বরটি যাচাই করার কিছু থাকবে না।
সুপারসেল

আপনি কিভাবে আপনার মোবাইল অ্যাপ্লিকেশন ইনস্টল করতে যাচ্ছেন?
কোডার্ট

এগুলি অ্যাপ
স্টোরগুলির

0

এটি খুব বেশি সুরক্ষিত হবে না তবে আপনি কোনও ধরণের গোপন কোড বা একটি ডিজিটাল স্বাক্ষর যুক্ত করতে পারেন। ডাউনসাইড: এটি অবশ্যই অ্যাপ্লিকেশনটিতে অন্তর্ভুক্ত করা উচিত, যা আপনি যদি জানেন তবে এটি এটির পক্ষে সহজ করে তোলে।


0

আমি যতদূর জানি, এইচটিটিপিএস কেবলমাত্র আপনি যে সার্ভারের সাথে যোগাযোগ করছেন তা বৈধতা দেওয়ার জন্য কে বলেছে এটি says

প্রকৃতপক্ষে, আপনি ক্লায়েন্ট এবং সার্ভার উভয়কেই প্রমাণীকরণের জন্য এসএসএল ব্যবহার করতে পারেন। অথবা, আলাদাভাবে বলা হয়েছে, "হ্যাঁ, আপনি ক্লায়েন্টের শংসাপত্রগুলি ব্যবহার করতে পারেন"।

আপনার দরকার হবে ...

  • আপনি কীভাবে মোবাইল ডিভাইসে ক্লায়েন্ট শংসাপত্রগুলি নির্দিষ্ট করবেন তা নির্ধারণ করতে আপনি যে এসএসএল লাইব্রেরিটি ব্যবহার করছেন তা দেখুন
  • কোড লিখুন বা আপনার এইচটিটিপিএস সার্ভারটি কনফিগার করুন যাতে এটি কেবল বিশ্বস্ত, নিবন্ধিত ক্লায়েন্টদের কাছ থেকে সংযোগ গ্রহণ করে।
  • আপনার সার্ভারে বিশ্বস্ত ক্লায়েন্ট শংসাপত্র যুক্ত করার জন্য একটি পদ্ধতি নিয়ে আসুন
  • আপনার সার্ভার থেকে আর-বিশ্বস্ত ক্লায়েন্ট শংসাপত্র অপসারণ করার জন্য একটি প্রক্রিয়া উপস্থিত করুন

আপনি যেখানেই চান মোবাইল অ্যাপ্লিকেশনটির শংসাপত্রটি রাখতে পারেন। যেহেতু আপনি এটি অ্যাপ্লিকেশন-নির্দিষ্ট প্রমাণীকরণ চান, আপনার কোনও সুরক্ষিত ডিস্কের স্থানে শংসাপত্রটি সংরক্ষণ করার বিষয়টি বিবেচনা করা উচিত (অ্যান্ড্রয়েডে, আপনি আপনার এসকিউএল ডাটাবেসে একটি "কনফিগার" টেবিল তৈরি করতে পারেন, এবং আপনার শংসাপত্রের জন্য একটি সারি এবং আপনার ব্যক্তিগত কীটির জন্য অন্য একটি) ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.