2016-09-29 2 views
0

Я пытаюсь использовать ng2-cordova-oauth для входа с помощью ссылки с помощью cordova. но я получаю эту ошибку при попытке войти в систему:Как подключиться к linkedin с помощью ng2-cordova-oauth?

The redirect_uri does not match the registered value.

Это мой объект поставщик LinkedIn:

private linkedinProvider: LinkedIn = new LinkedIn({ 
    clientId: "XXXX", 
    appScope: ["r_fullprofile"], 
    }); 

и это, как я использовал его:

this.cordovaOauth.logInVia(this.linkedinProvider).then(success => { 
     console.log("RESULT: " + JSON.stringify(success)); 
    }, error => { 
     console.log("ERROR: ", error); 
    }); 

Проблема заключается в том, что другие требуемые параметры не доступны, те, которые упомянуты здесь на этапе 2: https://developer.linkedin.com/docs/oauth2

как я буду добавлять их и использовать его, например, facebook имеет только этот Params, и когда я пытаюсь добавить любого из LinkedIn PARAMS я получаю ошибку компиляции:

const provider = new Facebook({ 
    clientId: string, 
    appScope?: string[], 
    redirectUri?: string, 
    responseType?: string, 
    authType?: string 
}); 

ответ

0

Поставщик LinkedIn должен выглядеть как это:

private linkedinProvider: LinkedIn = new LinkedIn({ 
     clientId: client_id, 
     appScope: ["r_basicprofile","r_emailaddress"], 
     redirectUri: redirectUri, 
     responseType: responseType, 
     state: state 
    }); 

с responseType всегда равен 'код' и redirectUri всегда равным 'http://localhost/callback'. и состояние - это строковое значение, которое вы произвольно генерируете. , вы найдете значения client_id и client_secret на странице вашего связанного приложения. Функция «logInVia» вернет обещание, содержащее authorization_code, когда вы его получите, вам нужно будет получить токен доступа, и с ним вы выдадите другой запрос, чтобы получить нужные вам данные.

все заявки задокументированы here на шагах 4 и 4. P.S: на шаге 4 не забывайте «несущий» перед токеном доступа в заголовке авторизации.

Смежные вопросы