2017-05-25 20 views
5

के साथ उपयोगकर्ता को पंजीकृत करना मैंने पासवर्ड अनुदान सेट किया है (यह एक ऐप के लिए बैकएंड है)। अब, मैं oauth/token पर एक पोस्ट अनुरोध भेज सकता हूं और यह पोस्टमैन पर काम करता है। हालांकि, अगर मैं एपीआई से भी उपयोगकर्ता को पंजीकृत करना चाहता हूं तो क्या होगा?लार्वा पासपोर्ट

मुझे समझ में आता है कि मैं वर्तमान /register मार्ग का उपयोग कर सकता हूं, फिर भी मुझे उपयोगकर्ता को लॉगिन पृष्ठ पर रीडायरेक्ट करने की आवश्यकता होगी और वह फिर से अपने प्रमाण-पत्रों के साथ लॉग इन करेगा?

या रजिस्टर नियंत्रक में, registered() फ़ंक्शन में, क्या मुझे oauth/token मार्ग पर रीडायरेक्ट करना चाहिए? (इसके लिए, कृपया ध्यान दें कि मैं 'x-www-form-urlencoded' में सभी 5 डेटा भेज रहा हूं और ऐसा लगता है। हालांकि, क्या मुझे हेडर में कुछ अलग करने की ज़रूरत है? यह मेरे लिए धुंधला है, इसलिए बस चाहता था पूछने के लिए कि मुझे मौका कब है)।

या मुझे oauth/token विधि में this guy जैसी कुछ चीज़ जोड़नी चाहिए? असल में, मैंने पर [email protected] लाइब्रेरी के अंदर विधि को पकड़ने की कोशिश की, हालांकि मैं parsedBody सरणी में हेरफेर करने का तरीका नहीं समझ पाया। अगर मैं वास्तविक पुस्तकालय से अपना रजिस्टर फ़ंक्शन ट्रिगर करता हूं, तो मुझे कैसे पता चलेगा कि यह रजिस्टर है या लॉगिन है?

शायद मुझे कुछ जानकारी याद आ रही है, लेकिन मुझे इस विषय के आधार पर कुछ भी नहीं मिला। पासपोर्ट में उपयोगकर्ता को पंजीकृत करने का सही तरीका क्या है?

उत्तर

4

अपने एपीआई के रूप में

Route::post('register','Api\[email protected]'); 

मार्ग बनाने और UsersController में विधि create()

function create(Request $request) 
{ 
    /** 
    * Get a validator for an incoming registration request. 
    * 
    * @param array $request 
    * @return \Illuminate\Contracts\Validation\Validator 
    */ 
    $valid = validator($request->only('email', 'name', 'password','mobile'), [ 
     'name' => 'required|string|max:255', 
     'email' => 'required|string|email|max:255|unique:users', 
     'password' => 'required|string|min:6', 
     'mobile' => 'required', 
    ]); 

    if ($valid->fails()) { 
     $jsonError=response()->json($valid->errors()->all(), 400); 
     return \Response::json($jsonError); 
    } 

    $data = request()->only('email','name','password','mobile'); 

    $user = User::create([ 
     'name' => $data['name'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     'mobile' => $data['mobile'] 
    ]); 

    // And created user until here. 

    $client = Client::where('password_client', 1)->first(); 

    // Is this $request the same request? I mean Request $request? Then wouldn't it mess the other $request stuff? Also how did you pass it on the $request in $proxy? Wouldn't Request::create() just create a new thing? 

    $request->request->add([ 
     'grant_type' => 'password', 
     'client_id'  => $client->id, 
     'client_secret' => $client->secret, 
     'username'  => $data['email'], 
     'password'  => $data['password'], 
     'scope'   => null, 
    ]); 

    // Fire off the internal request. 
    $token = Request::create(
     'oauth/token', 
     'POST' 
    ); 
    return \Route::dispatch($token); 
} 

बना सकते हैं और नया उपयोगकर्ता बनाने के बाद, पहुँच टोकन वापस जाएँ।

संबंधित मुद्दे