2016-01-22 3 views
1

Существует много похожих тем с одной и той же проблемой, но ничего не имеет значения для моей проблемы на сервере Identity. Наверное, я все еще не понимаю этого. Я пытаюсь выполнить проверку подлинности сервера идентичности воссоздавая this sampleОшибка при получении токена «Удаленный сертификат недействителен в соответствии с процедурой проверки»

Sample GetToken() method работает нормально, но когда я называю GetToken() метод в моем приложении я получаю ошибку

Удаленный сертификат недействителен в соответствии с процедурой проверки , Я не уверен, насколько хорошо работает semple, но мой код этого не делает.

Это код

public async Task<ActionResult> GetToken() 
{ 
    var client = new TokenClient(
     "https://localhost:44331/connect/authorize", 
     "codeclient", 
     "secret"); 

    var code = Request.QueryString["code"]; 
    var tempState = await GetTempStateAsync(); 
    Request.GetOwinContext().Authentication.SignOut("TempState"); 

    var response = await client.RequestAuthorizationCodeAsync(
     code, 
     "http://localhost/UniSrv.Client.Web/callback" 
      ); 

    //... more code 
    } 

Он ломает на RequestAuthorizationCodeAsync. Я использую тот же сертификат, что и образец приложения на хост-приложении identiy server. Нужен ли мне сертификат на клиенте? Если да, то почему, чем образец приложения работает без этого? Благодарим за помощь в решении этой проблемы.

+1

Я считаю, что это имеет какое-то отношение к сертификату ssl. Можете ли вы попытаться использовать конечную точку обратного вызова https как с образцом? – rawel

+0

Да, это была проблема. Я не использовал ssl, потому что использовал «Local IIS». Когда я перешел на «IIS Expres», все было в порядке. @rawel, вы можете ответить, я приму это. – Raskolnikov

ответ

1

Похоже, что проверка сертификата SSL не удалась. Попробуйте использовать HTTPS на конечной точке обратного вызова. Примечание: безопасность передачи https должна быть включена, если используются токены OAuth/OpenId.