Platform
Зарегистрируйтесь с LinkedIn
10 мин
вход с помощью linkedin учебное пособие введение вход с помощью linkedin позволяет пользователям входить в приложения, используя свои учетные записи linkedin предварительные требования для завершения этого учебного пособия вам потребуется приложение, созданное на back4app смотрите учебное пособие по созданию нового приложения чтобы узнать, как создать приложение на back4app настройте поддомен для вашего приложения back4app смотрите активация веб хостинга и живого запроса чтобы узнать, как создать поддомен в back4app учетная запись разработчика linkedin 1 создайте новое приложение back4app прежде всего, необходимо убедиться, что у вас есть существующее приложение, созданное в back4app однако, если вы новый пользователь, вы можете проверить это руководство https //www back4app com/docs/get started/new parse app чтобы узнать, как создать одно 2 создайте новое приложение linkedin войдите в свой аккаунт разработчика linkedin https //www linkedin com/developers нажмите создать приложение создать приложение и выберите id клиента oauth id клиента oauth выберите имя приложения и заполните обязательные поля, такие как деловая почта деловая почта и логотип приложения логотип приложения согласитесь с условиями и нажмите создать приложение создать приложение в вашем вновь созданном приложении нажмите подтвердить подтвердить для подтверждения права собственности на приложение вы должны быть владельцем или администратором страницы linkedin, чтобы подтвердить на странице подтверждения нажмите сгенерировать url сгенерировать url перейдите по сгенерированному url подтверждения url подтверждения с использованием учетной записи администратора или владельца страницы компании на linkedin нажмите на одобрить подтверждение одобрить подтверждение убедитесь, что ваше приложение подтверждено в вашем приложении перейдите на вкладку auth auth , заполните поле redirect urls redirect urls и нажмите update update 3 получите ваш код перейдите по следующему url, изменив значения для client id client id , redirect url redirect url , и a random string a random string для тех, которые вы создали случайная строка предназначена для предотвращения атак csrf войдите в свою учетную запись linkedin, и перенаправленный веб сайт будет содержать ваш код в url скопируйте только часть кода из url и выполните следующую команду curl, заменив значения your code your code , your client id your client id , your client secret your client secret , и your redirect uri your redirect uri для значений вашего приложения 1 curl x post \\ 2 https //www linkedin com/oauth/v2/accesstoken \\ 3 h 'cache control no cache' \\ 4 h 'content type application/x www form urlencoded' \\ 5 d 'client id=your client id\&client secret=your client secret\&redirect uri=your redirect uri\&code=your code\&grant type=authorization code' запустите его, и вы должны получить ваш токен доступа помните код можно использовать только один раз если вы получите ошибку или не используете свой токен, вам нужно будет сгенерировать новый код, чтобы снова его запустить 4 начните разработку теперь, когда вход через linkedin настроен, вы можете начать процесс разработки формат для authdata следующий 1 { 2 "linkedin" { 3 "id" "user's linkedin id (string)", 4 "access token" "an authorized linkedin access token for the user", 5 "is mobile sdk" true|false // set to true if you acquired the token through linkedin mobile sdk 6 } 7 } вот метод для ios sdk 1 pfuser loginwithauthtype(inbackground "linkedin", authdata \["access token"\ tokenstring, "id" user, "is mobile sdk" true]) continuewith { task > any? in 2 3 } а вот для android sdk 1 map\<string, string, bool> authdata = new hashmap\<string, string, bool>(); 2 authdata put("access token", tokenstring); 3 authdata put("id", user); 4 authdata put("is mobile sdk", true); 5 task\<parseuser> t = parseuser loginwithinbackground("google", authdata); 6 t continuewith(new continuation\<parseuser, void>() { 7 public void then(task task) throws exception { 8 if (task iscancelled()) { 9 log w(tag, "task cancelled"); 10 } else if (task isfaulted()) { 11 log w(tag, "save fail" + task geterror()); 12 utilities showtoast(getresources() getstring(r string errorlogin) + task geterror(), mainactivity this); 13 } else { 14 // the object was saved successfully 15 parseuser user = (parseuser)task getresult(); 16 log w(tag, "success " + user getobjectid() + " " + user getusername() + " " + user getemail() + " " + user getsessiontoken()); 17 } 18 } 19 }