2016-05-18 7 views
0

Со ссылкой из этого URI:Okta OpenID OAuth Интеграция

http://developer.okta.com/docs/api/resources/oidc.html#parameter-details

Я попытался с помощью /authorize конечной точки, но я не получаю жетон назад в результате от окта, я всегда получаю результат как:

404 - страница не найдена

страница, которую вы ищете не может быть найден. Перейдите на страницу своих приложений и повторите попытку.

Может ли кто-нибудь помочь мне в этом? Отправил письмо разработчику Okta, но я не получаю ответа.

var url = "https://xxx-admin.okta.com/oauth2/v1/authorize"; 
//string urlParams = 
// string.Format("response_type={0}&client_id={1}&redirect_uri={2}&scope={3},state={4},nonce={5}", "code", 
//  "xxxxxx", redirecturl, "email", "email",); 

var urlParameters = 
    $"?idp={"okta"}&response_type={"id_token"}&client_id={"xxxxx"}&redirect_uri={redirecturl}" + 
    $"&scope={"openid profile email address"}&response_mode={"form_post"}&state={"email"}&nonce={"nonce"}"; 

string redirecturl = "http://localhost/"; 
//grant_type,code,refresh_token,scope,redirect_uri,client_id,client_secret 
var urlParameters = $"?grant_type={"password"}&code={""}&refresh_token={""}&redirect_uri={redirecturl}&" + 
    $"client_id=xxxxx&client_secret=yyyyyy"; 
var url = "https://xxxx-admin.okta.com/oauth2/v1/token"; 
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url+ urlParameters); 

req.Method = "POST"; 
req.ContentType = "application/x-www-form-urlencoded"; 
var strRequest= string.Empty; 
StreamWriter streamOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); 
StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream()); 
string strResponse = streamIn.ReadToEnd(); 
streamIn.Close(); 
return strResponse.ToString(); 
+0

Вы добавили redirect_uri в список разрешенных переадресаций? https://xxx-admin.okta.com/admin/app/oidc_client/instance/{app}/#tab-general Также, по моему опыту, он не разрешил localhost - вместо этого я использовал свое имя компьютера. – Larchy

+0

Я не знаю, помогает ли это, но есть общедоступный инструмент, который имеет рабочие примеры аутентификации OIDC с Okta. Вот прямая ссылка: https://oktaproxy.com/oidcgenerator.php – user3888307

+0

localhost будет работать, также будут работать HTTP-запросы. Вам нужно убедиться, что вы добавили redirect_uri на общую вкладку для приложения. Вы можете использовать несколько для приложения OIDC – user3888307

ответ

0

Похоже, вы делаете POST для своего метода. Я думаю, что это должно быть ПОЛУЧЕНИЕ.