2017-03-04 20 views
11

पर स्टीम ओपनआईडी प्रमाणीकरण पिछले हफ्तों में, मैं अपने लार्वेल की वेबसाइट पर ओपनआईडी प्रमाणीकरण को लागू करने की कोशिश कर रहा हूं, लेकिन सफलता के बिना। मैं laravel/socialite का उपयोग नहीं कर सकता क्योंकि पैकेज भाप का समर्थन नहीं करता है और ओपनआईडी लेखों का भी समर्थन नहीं करता है।लैरवेल

फिर, मैंने समुदाय को सोशलसाइट एडाप्टर के लिए project संचालित किया। लेकिन एडाप्टर एक गड़बड़ हैं और अप्रचलित निर्भरताओं का उपयोग करते हैं।

एक उत्तर बहुत से लोगों की मदद करेगा। हमें मदद: ग

+1

इसे देखें: https://github.com/invisnik/laravel-steam-auth> यह पैकेज एक लैरावेल 5 सेवा प्रदाता है जो स्टीम ओपनआईडी के लिए > समर्थन प्रदान करता है और किसी भी परियोजना के साथ एकीकृत करना बहुत आसान है > भाप प्रमाणीकरण की आवश्यकता है। यह वही करना चाहिए जो आप चाहते हैं। 'रीडमे' में इसे सेट अप करने के तरीके पर विस्तृत निर्देश हैं। –

+2

मैं थोड़ी देर के लिए भाप सोशलाइट का उपयोग कर रहे हैं, समस्या नहीं थी कभी नहीं – Ian

+0

क्या [भाप सोशलाइट] (http://socialiteproviders.github.io/providers/steam/) पैकेज का उपयोग के साथ गलत क्या है? आपके पास इस निर्भरता के मुद्दे क्या हैं? – Leith

उत्तर

1

आप Laravel Steam Auth

बहुत आसान सेटअप उपयोग करने की आवश्यकता:

  1. संगीतकार स्थापित

    "invisnik/laravel-steam-auth": "2.*"

  2. /config/एप्लिकेशन को एप्लिकेशन को सेवा प्रदाता जोड़े प्रदाता सरणी के भीतर .php।

    'providers' => [ Invisnik\LaravelSteamAuth\SteamServiceProvider::class, ]

  3. प्रकाशित करें config: php artisan vendor:publish
  4. सेटअप config/steam-auth.php
  5. में अपने मार्ग और एपीआई कुंजी जोड़ें मार्ग: Route::get('dologin', 'Auth\[email protected]');
  6. इस लाइव कोड उदाहरण का उपयोग, मेरे लिए काम नहीं किया रीडमी से कोड के रूप में:

    <?php 
    
        public function dologin(Request $request) 
        { 
         if ($this->steam->validate()) { 
          $info = $this->steam->getUserInfo(); 
    
          if (! is_null($info)) { 
           $user = User::where('token', $info->get('steamID64'))->first(); 
           if (! is_null($user)) { 
            //Update user data, as it change over time.. 
            $user->nick = $info->get('personaname'); 
            $user->name = $info->get('realname') ?: ''; 
            $user->avatar = $info->get('avatarfull'); 
            $user->update(); 
           } else { 
            $user = User::create([ 
             'nick' => $info->get('personaname'), 
             'name' => $info->get('realname') ?: '', 
             'avatar' => $info->get('avatarfull'), 
             'token' => $info->get('steamID64'), 
            ]);      
           } 
           Auth::login($user, true); 
           return redirect('/'); // redirect to site 
          } 
         } 
         return $this->steam->redirect(); // redirect to Steam login page 
        } 
    
0

सोशलाइट स्टीम लॉग इन

  1. संगीतकार स्थापित

    // This assumes that you have composer installed globally 
    composer require socialiteproviders/steam 
    
  2. सेवा प्रदाता

    • अपने प्रदाताओं [] config \ अनुप्रयोग में सरणी से Laravel \ सोशलाइट \ SocialiteServiceProvider निकालें। PHP अगर आपने इसे पहले से जोड़ा है।

    • कॉन्फ़िगरेशन \ app.php में अपने प्रदाताओं [] सरणी में \ SocialiteProviders \ Manager \ ServiceProvider :: क्लास जोड़ें।

      'providers' => [ 
          // a whole bunch of providers 
          // remove 'Laravel\Socialite\SocialiteServiceProvider', 
          \SocialiteProviders\Manager\ServiceProvider::class, // add 
      ]; 
      
  3. घटना और श्रोताओं में

    protected $listen = [ 
        \SocialiteProviders\Manager\SocialiteWasCalled::class => [ 
        // add your listeners (aka providers) here 
        'SocialiteProviders\Steam\[email protected]', 
        ], 
    ]; 
    
  4. वातावरण चर, env फ़ाइल

    // other values above 
    STEAM_KEY=yourapikeyfortheservice 
    STEAM_REDIRECT_URI=https://example.com/login 
    

सूत्रों जोड़ें: - http://socialiteproviders.github.io/providers/steam/

0,123,

उम्मीद है, यह अपने भाप प्रवेश के साथ मदद करता है।