VKCOM / vk-ios-sdk

iOS library for working with VK API, authorization through VK app, using VK functions
MIT License
298 stars 164 forks source link

Не открывается приложение ВК при авторизации #559

Open asobolevsky opened 4 years ago

asobolevsky commented 4 years ago

Вводные: VKID = 5743171 VK-ios-sdk Pod Version = 1.5.1 VK App Version = 5.30.1 VK SDK пытается открыть приложение VK по URL - vkauthorize://authorize?sdk_version=1.4.6&client_id=5743171&scope=friends%2Coffline%2Cphotos&revoke=1&v=5.40

Есть девайсы, где приложениие ВК открывается, есть где нет. Вот видео: https://drive.google.com/file/d/1zwJUxT5RUKUt61iNslbfOW1FKp6EMO0Q/view?usp=sharing

Там где не открывается выполняются такие запросы: 1) https://api.vk.com/method/execute Params:

{
    “code”: “return {permissions:API.account.getAppPermissions(),user:API.users.get({fields : “photo_50,photo_100,photo_200”})[0],stats:API.stats.trackVisitor(),};“,
    “access_token”: “405f73a466702bffbf8172f991043b6b27009e6f6358dceb953aa0deaac47b257d7a82beecfc24b0fbd93",
    “v”: “5.40"
    “lang”: “ru”
    “https”: 1
}

Response:

{
    “error”: {
        “error_code”: 5,
        “error_msg”: “User authorization failed: invalid session.“,
        “request_params”: [{
            “key”: “method”,
            “value”: “execute”
        }, {
            “key”: “oauth”,
            “value”: “1”
        }, {
            “key”: “code”,
            “value”: “return {permissions:API.account.getAppPermissions(),user:API.users.get({fields : \“photo_50,photo_100,photo_200\“})[0],stats:API.stats.trackVisitor(),};”
        }, {
            “key”: “v”,
            “value”: “5.40”
        }, {
            “key”: “lang”,
            “value”: “ru”
        }, {
            “key”: “https”,
            “value”: “1”
        }]
    }
}

=================

Там где открывается: 1) https://oauth.vk.com/authorize?access_token=70306cc55298f676d00d31cd2463fc111a51f54ea0ccf1d7180242d2950ea6564229e134709bc44da0325&client_id=5743171&display=ios&ios_version=1673.126&response_type=token&revoke=1&scope=friends%2Coffline%2Cphotos&sdk_version=1.4.6

2) https://oauth.vk.com/auth_by_token?client_id=5743171&settings=65542&redirect_uri=&response_type=token&group_ids=&token_type=0&v=&state=&display=ios&ip_h=655a12e6ab9d65b091&hash=1576767039_7401e66d53320b1128&access_token=70306cc55298f676d00d31cd2463fc111a51f54ea0ccf1d7180242d2950ea6564229e134709bc44da0325&access_hash=191468e8b260156a08

3) https://api.vk.com/method/execute Params:

{
    “code”: “return {permissions:API.account.getAppPermissions(),user:API.users.get({fields : “photo_50,photo_100,photo_200”})[0],stats:API.stats.trackVisitor(),};“,
    “access_token”: “9c13ebd634c12142c18709454c2c7acf5e65b3180e182ee836cb89a62ca024777ae8e759e6791ea3759a6",
    “v”: “5.40"
    “lang”: “en”
    “https”: 1
}

Response

{
    “response”: {
        “permissions”: 65542,
        “user”: {
            ....
        },
        “stats”: 1
    }
}
rsolovjov commented 3 years ago

Похожая проблема, если не установлено приложение vk, то не открывается веб вью для авторизации. Заметил это на iOS 14.1

Firebase аналитика перехватывает: Deep Link does not contain valid required params. URL params: { "client_id" = xxxxxxx; revoke = 1; scope = "offline,email"; "sdk_version" = "1.4.6"; v = "5.40"; }