1

Я тестирую Oauth2 с Twitter, согласно discussions Twitter позволяет только 127.0.0.1 (он считает localhost недействительным).Как перенаправить 127.0.0.1 на localhost (Java)?

Я использую Javascript, чтобы открыть всплывающее окно и обнаружить обратный вызов к urlI регистрации: https://127.0.0.1:8144/Oauth2Callback

Однако мой JavaScript происходит от localhost, и в соответствии с sources двойка считаются разными для «же происхождения ".

Как написать перенаправление от 127.0.0.1 до localhost?

Я использую Java & также tuckey-url-rewrite, так что либо будет работать.


Мой контроллер выглядит следующим образом:

@RequestMapping("/oauth2callback") 
@ResponseBody 
public String callback() { 
    return "oauth2callback"; 
} 

<rule> 
    <name>Twitter Hack</name> 
<condition name="host" operator="equal"> ??? 127.0.0.1 ??? /condition> 
    <from>(.*)</from> 
    <to type="redirect"> ??? localhost ???</to> 
</rule> 

Я хочу:

twitter --(callback)--> 127 --(redirect)--> localhost

+2

Не является локальным и 127.0.0.1 тем же. Вы должны просто использовать его. – 0xcaff

+0

Возможно, измените файл хоста на 127.0.0.1 на localhost? или наоборот. Я думал, что мы такие же, хотя ... ну ладно. – DeadChex

ответ

0

Это похоже на работу:

@RequestMapping("/oauth2callback") 
public String callback(HttpServletRequest request) { 

    /* 
    * Terrible hack for testing Twitter Oauth on 'localhost' 
    */ 
    if (request.getServerName().contains("127.0.0.1")){ 
     int port = request.getServerPort(); 
     String query = (request.getQueryString() == null) ? "" : "?" +request.getQueryString(); 
     String url = "redirect:https://localhost:" + port +"/oauth2callback" + query; 
     return url; 
    } 

    return "account/oauth2callback"; 
} 

account/oauth2callback простой JSP с только:

<body> 
    <p>oauth2callback</p> 
</body> 

Там, наверное, лучший способ сделать это через Таки-url-переписывают.

1

проверить ОС, в и т.д./хост-файл и установить 127.0. 0.1 в строку localhost. Он должен быть по умолчанию, но иногда это может быть проблемой. В Windows это присутствует в папке C: \ windows \ System \ drivers \ etc \.

Его разрешение имен для вашей ОС, поэтому вы можете фактически присвоить IP-имя для определения проблем на вашем хосте.

Смежные вопросы