Hoe u deze pagina alleen beschikbaar kunt maken voor geautoriseerde gebruikers. Hoe u VKontakte-pagina's kunt bekijken zonder u daar te registreren

In dit artikel wordt echter een desktopapplicatie in Java als voorbeeld genomen algemene principes en het schema zal voor elke andere taal vergelijkbaar zijn.

Hoe komt autorisatie tot stand?

Autorisatie op VKontakte verschilt niet van andere autorisatie via server van derden. Dit proces werd perfect beschreven door een StackOverflow-gebruiker qnub:

  1. Op de dienst (in in dit geval VK) moet u de applicatie registreren en een API-sleutel verkrijgen.
  2. Hierna kan de applicatie (site) via dezelfde API de persoonsgegevens van de gebruiker opvragen bij een dienst van derden, waarvoor:
    • stuur de gebruiker om (de browser van de gebruiker door hem een ​​302 Redirect HTTP-antwoord te sturen) door speciaal gegenereerde link op een dienst die een API levert;
    • de gebruiker zal daar enkele acties uitvoeren, vermoedelijk inloggen en toegang tot de gegevens verlenen.
  3. Na voltooiing van de acties wordt de gebruiker doorgestuurd dienst van derden met dezelfde 302 Redirect naar de URL die in de parameters is doorgegeven speciaal gegenereerde link.

Stap een. Registreer uw aanvraag en ontvang een sleutel

Deze stap is het gemakkelijkst. Je moet naar de VK-pagina voor ontwikkelaars gaan: https://vk.com/dev- en klik op de knop “Aanvraag aanmaken”. We geven het type aan als “Standalone applicatie”; de naam is uiteraard willekeurig. Hierna in de sectie "Mijn toepassingen"(wat denk je ervan?) je applicatie zal verschijnen. Klik gerust op "Bewerken" en ga vervolgens naar het gedeelte "Instellingen" - daar ziet u op de eerste regel het opschrift "Applicatie-ID: 1234567 " Deze nummers zijn alles wat u nodig heeft om in te loggen.

Houd er rekening mee dat het geen zin heeft om de applicatie-ID te verbergen; deze wordt openbaar weergegeven, bijvoorbeeld wanneer u via deze applicatie een prikbordbericht plaatst. Noch tokens, noch enige andere informatie kan worden gestolen met behulp van een ID. Over het algemeen kunt u zelfs mijn applicatie-ID gebruiken (als u moet schrijven klein schrift voor mezelf).

Stap twee. Een speciale link genereren

Vervolgens moet u de gebruiker naar een speciaal gegenereerd adres leiden (de vermeldingen ervan zijn vetgedrukt in het eerste gedeelte van het artikel), waar hij zal bevestigen dat hij uw applicatie wil toestaan ​​bepaalde acties uit te voeren met zijn account. Hoe komt deze koppeling tot stand?

Dit proces wordt uitgebreid beschreven in documentatie. Als u zich echter tot dit artikel wendt, neem ik aan dat u niet voldoende informatie in de documentatie had staan, en daarom zal ik alles in mijn eigen woorden opnieuw vertellen. De link ziet er als volgt uit: host?parameters. De parameters hebben de vorm van verschillende sleutel=waarde-paren, gescheiden door &-symbolen.

De host blijft altijd dezelfde: https://oauth.vk.com/authorize. De set parameters is ook ongewijzigd:

  • klant identificatie. Hier is het de moeite waard om dezelfde cijfers aan te geven die we in de eerste stap hebben verkregen.
  • redirect_uri. Het adres waarnaar de gebruiker wordt doorgestuurd. Voor Standalone applicaties is dit alleen https://oauth.vk.com/blank.html.
  • weergave. Deze parameter bepaalt hoe de inlogpagina wordt weergegeven. Er zijn drie opties beschikbaar: pagina, pop-up en mobiel. Als je het niet zeker weet, gebruik dan pagina .
  • domein. In deze parameter moet u de toegangsparameters vermelden die u nodig heeft, gescheiden door komma's. Volle lijst beschikbare parameters worden weergegeven op bijbehorende pagina documentatie. Houd er rekening mee dat u helemaal niets kunt opgeven en deze parameter eenvoudigweg niet kunt schrijven. Kijk op om te zien welke toegangsopties je nodig hebt methode documentatie die je gaat gebruiken.
  • reactietype. We specificeren het token en gaan verder.
  • v. API-versie. Huidig ​​- 5.59 .

https://oauth.vk.com/authorize?client_id=1&display=page&redirect_uri=http://example.com/callback&scope=friends&response_type=token&v=5.59

Stap drie. Wat is het volgende?

http://REDIRECT_URI#access_token= TOKEN 3&expires_in= TIJD&user_id= ID kaart

We zijn geïnteresseerd in TOKEN. Hoe kan ik de gebruiker vanuit een Java-applicatie naar een pagina leiden en hoe kan ik het adres krijgen van de pagina waarnaar VK hem zal doorsturen (om er een token uit te halen)? Er zijn twee manieren.

Als u besluit deze route te volgen, opent u eenvoudigweg de standaardbrowser van het systeem met de link die u hierboven hebt ontvangen, en vertelt u de gebruiker op de een of andere manier dat hij het token van de URL moet kopiëren en in een veld moet plakken. Het is duidelijk dat deze methode een vreselijke UX heeft, maar deze kan snel en eenvoudig worden geïmplementeerd. Het is heel geschikt als u een applicatie voor uzelf schrijft - om muziek te downloaden of meldingen te ontvangen. Het wordt als volgt geïmplementeerd:

Public String askToken(String link) genereert IOException, URISyntaxException( //Opent link in standaardbrowser Desktop.getDesktop().browse(nieuwe URI(link)); //Vraagt ​​gebruiker om token vanuit browser handmatig in te voeren en retourneert JOptionPane.showInputDialog(" Voer de access_token-parameter in vanuit de browser: "); )

Bourgeois, via webcomponenten

Als u besluit deze route te volgen, moet u een GUI-bibliotheek van derden gebruiken (of ten minste JavaFX), dat een eigen browsercomponent in zijn arsenaal heeft. Uw programma heeft de volledige macht over zo'n browser en u kunt het adres ophalen waarnaar VK u heeft doorverwezen, software. In JavaFX kan dit als volgt worden geïmplementeerd:

Importeer javafx.application.Application; javafx.beans.value.ChangeListener importeren; javafx.beans.value.ObservableValue importeren; javafx.scene.Scene importeren; javafx.scene.web.WebEngine importeren; javafx.scene.web.WebView importeren; javafx.stage.Stage importeren; public class Main breidt Application uit (public statische finale Tekenreeks REDIRECT_URL = "https://oauth.vk.com/blank.html"; openbare statische finale String VK_AUTH_URL = ""; //TE DOEN!!! openbare statische String tokenUrl; public static void main(String args)( System.out.println(Main.getTokenUrl()); ) public static String getTokenUrl())( launch(Main.class); return tokenUrl; ) @Override public void start(Stage PrimaryStage ) genereert Exception ( laatste WebView-weergave = nieuwe WebView(); laatste WebEngine-engine = view.getEngine(); engine.load(VK_AUTH_URL); primaireStage.setScene(nieuwe scène(weergave)); primaireStage.show(); engine.locationProperty ( ).addListener(nieuwe ChangeListener()( @Override publieke ongeldigheid gewijzigd (ObservableValue

waarneembaar, String oudeWaarde, String nieuweWaarde) ( if(newValue.startsWith(REDIRECT_URL))( tokenUrl=nieuweWaarde; primaireStage.close(); ) ) ); ))

Conclusie

We hebben dus geleerd hoe u een VKontakte-toegangstoken kunt verkrijgen, waarmee u API-methoden kunt aanroepen. Als dit artikel interesse wekt in de gemeenschap, zal ik in het volgende artikel beschrijven hoe je bepaalde API-methoden kunt aanroepen met behulp van een token, hoe je de geldigheid van een token kunt controleren (uiteraard de methode secure.checkToken()) en er enkele schrijven soort demo-applicatie, bijvoorbeeld om alle muziek uit een afspeellijst op uw computer op te slaan. Vergeet trouwens niet dat in feite alles vóór ons is uitgevonden, en dat er voor bijna elke taal al bibliotheken zijn om met de VK API te werken. Dat hebben we gedaan, waarin we probeerden de beste van hen te verzamelen.

Als je ideeën of vragen hebt, verwelkom dan de reacties (ik lees ze en beantwoord iedereen). Je kunt ook vragen stellen

Ga naar de VKontakte-website http://vk.com/. Plaats in de adresbalk (bovenaan het venster) “/” en schrijf zoeken. Druk op Enter.

Er wordt een zoekvenster geopend. Voer in de regel de voor- en achternaam in van de persoon wiens pagina u zoekt. Als er veel mensen zijn met dezelfde naam, vul dan het geavanceerde zoekformulier aan de rechterkant in.

Stap 3

Je gaat naar de pagina en bekijkt deze. Wat te doen als “De pagina alleen beschikbaar is voor geautoriseerde gebruikers.”? Er is een oplossing! Weet jij wie deze persoon als vriend heeft? Als dat zo is, zoek dan een ‘tussenpersoon’. U zocht bijvoorbeeld naar Vasya Pupkin en zijn 'Pagina is alleen beschikbaar voor geautoriseerde gebruikers'. Vasya is een vriend van Ololoshi Ololoev. Zoek dus naar deze Ololosha Ololoev.

Stap 4

Zodra je hem hebt gevonden, kijk je naar zijn vriendenlijst. Heeft u de persoon gevonden die u nodig heeft? Beweeg de muis over zijn foto en klik op “Vergroten”. Onder de foto zie je dit (kijk naar de foto). Klik op "Foto's van pagina...". Er wordt een venster geopend met alle fotoalbums van de persoon die u nodig heeft.

Stap 5

Wat moet je doen als je naar de pagina van Ololoshi Ololoev gaat, maar er is geen lijst met zijn vrienden? Het antwoord is simpel: als Pupkin zijn vriend is, vond hij het waarschijnlijk leuk. Open een foto en bekijk de lijst met mensen die deze leuk vonden. Heeft u de persoon gevonden die u nodig heeft? Beweeg de muis over zijn foto en klik op “Vergroten”.

Dat heb je waarschijnlijk al gehoord Tegenwoordig kunt u via sociale netwerken informatie over vrijwel elke persoon krijgen, en vooral via VKontakte. Bovendien is het vaak helemaal niet nodig om daarin geregistreerd te zijn. Het volstaat om de achternaam, voornaam en woonplaats van de gewenste persoon in de zoekmachine te typen en dat is alles.

Ik zal niet in detail treden over waarom dit slecht is (iedereen die dat wil, kan het artikel lezen dat ik over dit onderwerp heb geschreven over het beschermen van een VKontakte-account), maar ik zal me concentreren op hoe je het leven zelfs een beetje moeilijker kunt maken voor nieuwsgierigen mensen.

Hoe kunt u uw contactpagina blokkeren voor zoekmachines? (Yandex, Google, enz.)

Klik rechtsboven op de avatar. Selecteer het artikel “ Instellingen».

Selecteer het tabblad " Privacy" Scroll naar beneden naar het blok “ Ander" Tegenover de regel "Wie kan mijn pagina op internet zien" stelt u de waarde "" in.

Als je het oude VKontakte-ontwerp actief hebt

We gaan naar de sectie “ Mijn instellingen", tabblad " Privacy" en tegenover de onderste regel "Wie kan mijn pagina op internet zien" stelt u de waarde in " Alleen VKontakte-gebruikers».

Om te controleren of je alles goed hebt gedaan, doe je het volgende. Maak een keuze uit het menu " Mijn pagina", klik dan op " Uitgaan».

Hierna zou het volgende bericht moeten verschijnen. " De pagina is alleen beschikbaar voor geautoriseerde gebruikers».

Hoe sluit u uw VKontakte-pagina voor andere gebruikers?

U kunt op dezelfde manier de hele pagina, of een deel ervan, van VKontakte-deelnemers sluiten: door naar het instellingengedeelte te gaan, tabblad " Privacy"en de instellingen correct instellen. (Meestal in de betekenis " Alleen ik"). Elk item wordt gedetailleerd beschreven, zodat u erachter kunt komen wat waarvoor verantwoordelijk is.

Het overgrote deel van de sites is vrij toegankelijk en gratis voor gebruikers. Er zijn echter bronnen die aanvullende informatie en abonnementen op betaalde diensten aanbieden waarvoor een procedure zoals autorisatie vereist is. Wat levert dit gebruikers op?

De gebruiker moet een formulier invullen om een ​​domein aan te maken met een persoonlijke login en wachtwoord. Login is een unieke naam die op deze site aan de gebruiker wordt gepresenteerd. Normaal gesproken kunnen er niet twee identieke logins op één site zijn. Wat het wachtwoord betreft, het is een gecodeerd geheim woord of een bepaalde reeks tekens. Het bevestigt het feit dat u de eigenaar bent van deze login. Om veiligheidsredenen wordt uw wachtwoord weergegeven met sterretjes als u uw wachtwoord invoert. Er zijn sites die u de mogelijkheid bieden uw eigen login en wachtwoord te kiezen, terwijl andere deze zelf genereren.

Autorisatie - wat is het?

Gebruikersautorisatie is een fundamentele functie op veel websites. Een typische internetgebruiker komt het regelmatig tegen: op sociale netwerken, op forums, op nieuwssites bij het achterlaten van reacties, op websites van banken. Zoals eerder vermeld, kunt u bij registratie op de site profiteren van de extra functies en mogelijkheden die worden geboden. Op sociale netwerken is het bijvoorbeeld een mogelijkheid om andere profielen te zien, te communiceren, informatie te downloaden en in online winkels is het mogelijk om elk product te selecteren en te bestellen.

Waarom is gebruikersregistratie nodig?

Zoals u begrijpt, helpt identificatie bij het identificeren van een bezoeker van de site, en bij het opleggen van beperkingen aan zijn mogelijkheden en middelen voor andere gebruikers.

De vraag rijst: autorisatie - wat is het en waarom beperkt u de toegang ermee? Het zou immers veel eenvoudiger zijn om de mogelijkheden van de site aan alle gebruikers te bieden. Bovendien kost de registratieprocedure soms behoorlijk wat tijd. Maar er is één goede reden waarom eigenaren autorisatie invoeren. Het feit is dat het helpt om bezoekers en de site zelf te beschermen tegen spam. Een ander belangrijk doel van autorisatie is identificatie.

Deze informatie wordt vrijwillig doorgegeven en wordt uitsluitend gebruikt voor herkenning door andere bezoekers.

Uiteraard heeft registratie nog veel meer taken en functies, maar deze twee zijn het belangrijkst.

Belangrijkste voordelen van identificatie

Zowel site-eigenaren als gebruikers hebben voordelen. De voordelen voor de eigenaar zijn:

  1. Antispambescherming (screenen van spambots).
  2. Beperking van rechten om aanvullende diensten te gebruiken. Voor commerciële sites is autorisatie eenvoudigweg noodzakelijk, omdat ze hun diensten tegen geld aanbieden.
  3. De mogelijkheid om de gebruiker te leren kennen, wat ook zijn voordelen heeft: geografische, demografische en andere informatie over bezoekers, waarmee u de site correct kunt opzetten, de meest effectieve advertenties en trefwoorden kunt selecteren.

Voordelen voor gebruikers:

  1. Ook anti-spambescherming.
  2. Mogelijkheid om uw gesprekspartner te herkennen.
  3. Extra functies zoals het invullen van een profiel, het uploaden van een foto, andere bestanden, enzovoort.

Dus we hebben uitgezocht wat autorisatie is. Dat dit een manier is om gebruikersgegevens te beschermen. Voor websites is het van groot belang. Op basis hiervan moet u de situatie serieus nemen als u geen toestemming kunt geven.