开发者社区> 问答> 正文

android StsToken回调

<p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px; padding: 0px; line-height: 24px; font-family: PingFangSC, " helvetica="" neue",="" "hiragino="" sans="" gb",="" arial,="" "microsoft="" yahei="" ui",="" yahei",="" simsun,="" sans-serif;="" background-color:="" rgb(255,="" 255,="" 255);"=""><span style="color:#ff0000;">下面是文档的使用说明,需要更新token时会回调去获取新的token,  我实际使用时,每次上传图片都会走这个回调方法,有遇到这种情况的吗</span><p style="box-sizing: border-box; margin-top: 10px; margin-bottom: 10px; padding: 0px; line-height: 24px; color: rgb(51, 51, 51); font-family: PingFangSC, " helvetica="" neue",="" "hiragino="" sans="" gb",="" arial,="" "microsoft="" yahei="" ui",="" yahei",="" simsun,="" sans-serif;="" background-color:="" rgb(255,="" 255,="" 255);"="">如果您期望SDK能自动帮您管理Token的更新,那么,您需要告诉SDK如何获取Token。在SDK的应用中,您需要实现一个回调,这个回调通过您实现的方式去获取一个Federation Token(即StsToken),然后返回。SDK会利用这个Token来进行加签处理,并在需要更新时主动调用这个回调获取Token,如图示:<pre class="prettyprint linenums prettyprinted" style="box-sizing: border-box; margin-top: 0px; margin-bottom: 16px; padding: 10px; overflow: auto; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" font-variant-numeric:="" normal;="" font-variant-east-asian:="" font-stretch:="" line-height:="" 1.45;="" border-style:="" solid;="" border-color:="" rgb(221,="" 221,="" 221);="" background-color:="" rgb(247,="" 247,="" 247);="" border-radius:="" 3px;="" word-wrap:="" break-word;="" white-space:="" pre-wrap;="" color:="" rgb(51,="" 51,="" 51);"=""><ol class="linenums" style="box-sizing: border-box; margin: 0px; padding: 0px 0px 0px 2.5em; list-style: none; color: rgb(153, 153, 153);"><li class="L0" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="typ" style="box-sizing: border-box; color: rgb(102, 0, 102);">String</span><span class="pln" style="box-sizing: border-box;"> endpoint </span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: rgb(0, 136, 0);"><span class="hljs-string" style="box-sizing: border-box; color: rgb(136, 0, 0);">"http://oss-cn-hangzhou.aliyuncs.com"</span></span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">;</span></li><li class="L1" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""></li><li class="L2" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="typ" style="box-sizing: border-box; color: rgb(102, 0, 102);">OSSCredentialProvider</span><span class="pln" style="box-sizing: border-box;"> credentialProvider </span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: rgb(0, 0, 136);"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: 700;">new</span></span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: rgb(102, 0, 102);">OSSFederationCredentialProvider</span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">()</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">{</span></li><li class="L3" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""></li><li class="L4" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">    </span><span class="lit" style="box-sizing: border-box; color: rgb(0, 102, 102);"><span class="hljs-meta" style="box-sizing: border-box;">@Override</span></span></li><li class="L5" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">    </span><span class="kwd" style="box-sizing: border-box; color: rgb(0, 0, 136);"><span class="hljs-function" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: 700;">public</span></span></span><span class="pln" style="box-sizing: border-box;"><span class="hljs-function" style="box-sizing: border-box;"> </span></span><span class="typ" style="box-sizing: border-box; color: rgb(102, 0, 102);"><span class="hljs-function" style="box-sizing: border-box;">OSSFederationToken</span></span><span class="pln" style="box-sizing: border-box;"><span class="hljs-function" style="box-sizing: border-box;"> <span class="hljs-title" style="box-sizing: border-box; color: rgb(136, 0, 0); font-weight: 700;">getFederationToken</span></span></span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);"><span class="hljs-function" style="box-sizing: border-box;"><span class="hljs-params" style="box-sizing: border-box;">()</span></span></span><span class="pln" style="box-sizing: border-box;"><span class="hljs-function" style="box-sizing: border-box;"> </span></span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">{</span></li><li class="L6" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">        </span><span class="com" style="box-sizing: border-box; color: rgb(136, 0, 0);"><span class="hljs-comment" style="box-sizing: border-box; color: rgb(136, 136, 136);">// 您需要在这里实现获取一个FederationToken,并构造成OSSFederationToken对象返回</span></span></li><li class="L7" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">        </span><span class="com" style="box-sizing: border-box; color: rgb(136, 0, 0);"><span class="hljs-comment" style="box-sizing: border-box; color: rgb(136, 136, 136);">// 如果因为某种原因获取失败,可直接返回nil</span></span></li><li class="L8" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""></li><li class="L9" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">        </span><span class="typ" style="box-sizing: border-box; color: rgb(102, 0, 102);">OSSFederationToken</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">*</span><span class="pln" style="box-sizing: border-box;"> token</span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">;</span></li><li class="L0" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">        </span><span class="com" style="box-sizing: border-box; color: rgb(136, 0, 0);"><span class="hljs-comment" style="box-sizing: border-box; color: rgb(136, 136, 136);">// 下面是一些获取token的代码,比如从您的server获取</span></span></li><li class="L1" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">        </span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">...</span></li><li class="L2" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">        </span><span class="kwd" style="box-sizing: border-box; color: rgb(0, 0, 136);"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: 700;">return</span></span><span class="pln" style="box-sizing: border-box;"> token</span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">;</span></li><li class="L3" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">    </span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">}</span></li><li class="L4" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">};</span></li><li class="L5" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal; background: rgb(238, 238, 238);"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""></li><li class="L6" style="box-sizing: border-box; margin: 0px; padding: 0px; list-style: decimal;"><code class="lang-java hljs" style="box-sizing: border-box; margin: 0px; padding: 0px; font-family: " yahei="" consolas="" hybrid",="" consolas,="" "meiryo="" ui",="" "malgun="" gothic",="" "segoe="" "trebuchet="" ms",="" helvetica,="" monospace,="" monospace;="" display:="" inline;="" overflow:="" initial;="" background:="" none;="" text-size-adjust:="" color:="" rgb(0,="" 0,="" 0);="" border:="" border-radius:="" 3px;="" max-width:="" line-height:="" inherit;="" word-wrap:="" normal;"=""><span class="pln" style="box-sizing: border-box;">OSS oss </span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: rgb(0, 0, 136);"><span class="hljs-keyword" style="box-sizing: border-box; font-weight: 700;">new</span></span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: rgb(102, 0, 102);">OSSClient</span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">(</span><span class="pln" style="box-sizing: border-box;">getApplicationContext</span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">(),</span><span class="pln" style="box-sizing: border-box;"> endpoint</span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">,</span><span class="pln" style="box-sizing: border-box;"> credentialProvider</span><span class="pun" style="box-sizing: border-box; color: rgb(102, 102, 0);">);</span></li></ol><br />

展开
收起
zmesky 2018-04-15 10:27:32 2102 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载