2017-06-01 69 views
2

我想通過代碼傳遞憑據,而不是通過此提示請求用戶提供憑據。如何通過代碼傳遞憑據而不是請求用戶

Screenshot

雖然我傳遞憑據頭下面的代碼給出:

<html> 
<head>  
</head> 
<body> 
    <div id="text-to-speech"> 
     <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.min.js"></script> 

     <input type="text" name="speech-text" TextMode="MultiLine" height:50px;"> 
     <input type="button" id="btnPOst" value="Play" /> 
     <br /><br /><br /> 
     <audio id="speech" autoplay preload="auto" autobuffer controls class="audio"></audio> 
    </div> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      debugger; 
      $("#btnPOst").click(function() { 
       debugger; 
       var username= ""; 
       var password = ""; 
       var request = $("#text-to-speech input[name=speech-text]").val(); 

       var url = "https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize?voice=en-US_MichaelVoice&accept=audio/wav&text=" + request;      
       $.ajax 
        ({ 
         type: "POST", 
         url: url, 
         dataType: "application/json; charset=utf-8", 
         headers: { 
          'Content-Type': 'application/json', 
          'Accept': 'audio/wav', 
          'Authorization': ("Basic " + btoa(username + ":" + password)) 
         }, 

         success: function (content) { 

         }, 

        }); 

       $("#speech").attr("src", url)[0].play(); 

      }); 
     }); 


    </script> 
</body> 
</html> 

回答

2

喜@akash它不是一個很好的做法,直接從自憑據的網頁做的基本身份驗證將公開可用,這是一個很大的安全問題。你有沒有想過使用令牌?對於生產應用程序,推薦的方法是從生成令牌的服務器端應用程序執行基本身份驗證,然後網頁從服務器應用程序獲取這些令牌並直接連接到STT服務。代幣有效期爲一小時。當然,您需要在網頁和您的服務器應用程序之間建立自己的身份驗證機制,以便以受控的方式傳遞令牌。

請看到這一點:https://github.com/watson-developer-cloud/speech-javascript-sdk這是用來建立這個網頁:https://speech-to-text-demo.mybluemix.net/

0

你可以建立一個動態的URL是這樣的:

「的https://」 +用戶名+ 「:」 +密碼+「@ gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters

+0

只是因爲你可以,並不意味着你應該在網頁中擁有它意味着隨機的人可以竊取細節並擁有OP支付他們所有未經授權的使用 –

+0

有效的點。從未在這類話題上花費更深的思考,我會考慮未來e實現。但是一個隨機的人被誇大了,對吧?您仍然需要訪問路由器,代理服務器或緩存服務器。 – Bene

相關問題